@valtimo/components 12.11.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 (38) 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/remove-classnames/remove-classnames.directive.mjs +53 -0
  8. package/esm2022/lib/directives/valtimo-cds-modal/valtimo-cds-modal.directive.mjs +48 -27
  9. package/esm2022/lib/models/theme.model.mjs +3 -1
  10. package/esm2022/lib/services/cds-theme.service.mjs +5 -2
  11. package/esm2022/lib/services/page-header.service.mjs +11 -1
  12. package/esm2022/lib/services/value-path-selector.service.mjs +14 -7
  13. package/esm2022/public_api.mjs +14 -11
  14. package/fesm2022/valtimo-components.mjs +282 -187
  15. package/fesm2022/valtimo-components.mjs.map +1 -1
  16. package/lib/components/carbon-list/carbon-list.component.d.ts +2 -1
  17. package/lib/components/carbon-list/carbon-list.component.d.ts.map +1 -1
  18. package/lib/components/page-header/page-header.component.d.ts +1 -0
  19. package/lib/components/page-header/page-header.component.d.ts.map +1 -1
  20. package/lib/components/page-title/page-title.component.d.ts +1 -0
  21. package/lib/components/page-title/page-title.component.d.ts.map +1 -1
  22. package/lib/components/value-path-selector/value-path-selector.component.d.ts +1 -2
  23. package/lib/components/value-path-selector/value-path-selector.component.d.ts.map +1 -1
  24. package/lib/directives/remove-classnames/remove-classnames.directive.d.ts +16 -0
  25. package/lib/directives/remove-classnames/remove-classnames.directive.d.ts.map +1 -0
  26. package/lib/directives/valtimo-cds-modal/valtimo-cds-modal.directive.d.ts +6 -4
  27. package/lib/directives/valtimo-cds-modal/valtimo-cds-modal.directive.d.ts.map +1 -1
  28. package/lib/models/theme.model.d.ts +3 -1
  29. package/lib/models/theme.model.d.ts.map +1 -1
  30. package/lib/services/cds-theme.service.d.ts +1 -0
  31. package/lib/services/cds-theme.service.d.ts.map +1 -1
  32. package/lib/services/page-header.service.d.ts +4 -0
  33. package/lib/services/page-header.service.d.ts.map +1 -1
  34. package/lib/services/value-path-selector.service.d.ts +1 -0
  35. package/lib/services/value-path-selector.service.d.ts.map +1 -1
  36. package/package.json +1 -1
  37. package/public_api.d.ts +7 -6
  38. package/public_api.d.ts.map +1 -1
@@ -519,6 +519,8 @@ var CurrentCarbonTheme;
519
519
  (function (CurrentCarbonTheme) {
520
520
  CurrentCarbonTheme["G10"] = "g10";
521
521
  CurrentCarbonTheme["G90"] = "g90";
522
+ CurrentCarbonTheme["G100"] = "g100";
523
+ CurrentCarbonTheme["WHITE"] = "white";
522
524
  })(CurrentCarbonTheme || (CurrentCarbonTheme = {}));
523
525
 
524
526
  /*
@@ -1669,6 +1671,9 @@ class PageHeaderService {
1669
1671
  get compactMode$() {
1670
1672
  return this._compactMode$.asObservable();
1671
1673
  }
1674
+ get smallTitle$() {
1675
+ return this._smallTitle$.asObservable();
1676
+ }
1672
1677
  get showUserNameInTopBar$() {
1673
1678
  return this._showUserNameInTopBar$.asObservable();
1674
1679
  }
@@ -1686,6 +1691,7 @@ class PageHeaderService {
1686
1691
  this._showUserNameInTopBar$ = new BehaviorSubject(this.getDefaultShowUserNameInTopBarValue());
1687
1692
  this._pageActionsHasContent$ = new BehaviorSubject(false);
1688
1693
  this._pageHeadHeight$ = new BehaviorSubject(null);
1694
+ this._smallTitle$ = new BehaviorSubject(false);
1689
1695
  }
1690
1696
  setHeaderViewContainerRef(ref) {
1691
1697
  this._headerViewContainerRef$.next(ref);
@@ -1705,6 +1711,12 @@ class PageHeaderService {
1705
1711
  setPageHeadHeight(height) {
1706
1712
  this._pageHeadHeight$.next(height);
1707
1713
  }
1714
+ enableSmallTitle() {
1715
+ this._smallTitle$.next(true);
1716
+ }
1717
+ disableSmallTitle() {
1718
+ this._smallTitle$.next(false);
1719
+ }
1708
1720
  getDefaultShowUserNameInTopBarValue() {
1709
1721
  const featureToggles = this.configService?.config?.featureToggles;
1710
1722
  if (featureToggles && featureToggles.hasOwnProperty('showUserNameInTopBar')) {
@@ -1744,6 +1756,9 @@ class CdsThemeService {
1744
1756
  get currentTheme$() {
1745
1757
  return this._currentTheme$.pipe(filter(theme => !!theme));
1746
1758
  }
1759
+ get toggletipTheme$() {
1760
+ return this.currentTheme$.pipe(map$1(currentTheme => currentTheme === CurrentCarbonTheme.G10 ? CurrentCarbonTheme.G90 : CurrentCarbonTheme.WHITE));
1761
+ }
1747
1762
  constructor() {
1748
1763
  this._preferredTheme$ = new BehaviorSubject(SelectableCarbonTheme.G10);
1749
1764
  this._currentTheme$ = new BehaviorSubject(null);
@@ -2114,18 +2129,20 @@ class ValuePathSelectorService extends BaseApiService {
2114
2129
  const url = typeof version !== 'number'
2115
2130
  ? `/management/v2/value-resolver/document-definition/${documentDefinitionName}/keys`
2116
2131
  : `/management/v2/value-resolver/document-definition/${documentDefinitionName}/version/${version}/keys`;
2117
- const prefixesWithoutCache = prefixes.filter((prefix) => !this.getCacheResult(prefix, type));
2118
- return (prefixesWithoutCache.length > 0
2132
+ const prefixesWithoutCache = this._prefixes.filter((prefix) => !this.getCacheResult(prefix, type));
2133
+ return (prefixesWithoutCache.length > 0 || this._prefixes.length === 0
2119
2134
  ? this.httpClient.post(this.getApiUrl(url), {
2120
2135
  prefixes: prefixesWithoutCache,
2121
2136
  type,
2122
2137
  })
2123
2138
  : of([])).pipe(tap$1((results) => {
2139
+ if (this._prefixes.length === 0)
2140
+ this._prefixes = this.getPrefixesFromResults(results);
2124
2141
  if (type === ValuePathType.FIELD)
2125
2142
  this.cacheMapping(results.map((result) => ({ path: result.path })), type);
2126
2143
  else
2127
2144
  this.cacheMapping(results.reduce((acc, curr) => [...acc, ...this.mapCollectionItem(curr)], []), type);
2128
- }), map(() => prefixes.reduce((acc, curr) => [...acc, ...(this.getCacheResult(curr, type) ?? [])], [])));
2145
+ }), map(() => this._prefixes.reduce((acc, curr) => [...acc, ...(this.getCacheResult(curr, type) ?? [])], [])));
2129
2146
  }
2130
2147
  openClearCacheSubscription() {
2131
2148
  this._subscriptions.add(interval(60 * 1000).subscribe(() => {
@@ -2158,9 +2175,11 @@ class ValuePathSelectorService extends BaseApiService {
2158
2175
  return;
2159
2176
  const prefixResults = this._prefixes.reduce((acc, curr) => ({
2160
2177
  ...acc,
2161
- [curr]: {
2162
- [type]: results.filter((result) => result.path.split(':')[0] === curr),
2163
- },
2178
+ ...(!this.getCacheResult(curr, type) && {
2179
+ [curr]: {
2180
+ [type]: results.filter((result) => result.path.split(':')[0] === curr),
2181
+ },
2182
+ }),
2164
2183
  }), {});
2165
2184
  const tempCache = {
2166
2185
  [this._documentDefinitionName]: {
@@ -2169,6 +2188,9 @@ class ValuePathSelectorService extends BaseApiService {
2169
2188
  };
2170
2189
  this._cache = deepmerge(this._cache, tempCache);
2171
2190
  }
2191
+ getPrefixesFromResults(results) {
2192
+ return [...new Set(results.map((result) => result.path.split(':')[0]))];
2193
+ }
2172
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 }); }
2173
2195
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValuePathSelectorService, providedIn: 'root' }); }
2174
2196
  }
@@ -4412,6 +4434,7 @@ class PageTitleComponent {
4412
4434
  this.customPageTitle$ = this.pageTitleService.customPageTitle$;
4413
4435
  this.customPageTitleSet$ = this.pageTitleService.customPageTitleSet$;
4414
4436
  this.translatedTitle$ = new BehaviorSubject('');
4437
+ this.smallTitle$ = this.pageHeaderService.smallTitle$;
4415
4438
  this.appTitleAsSuffix = this.configService?.config?.featureToggles?.applicationTitleAsSuffix || false;
4416
4439
  this._subscriptions = new Subscription();
4417
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)));
@@ -4471,11 +4494,11 @@ class PageTitleComponent {
4471
4494
  }));
4472
4495
  }
4473
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 }); }
4474
- 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 }); }
4475
4498
  }
4476
4499
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTitleComponent, decorators: [{
4477
4500
  type: Component,
4478
- 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"] }]
4479
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: [{
4480
4503
  type: HostBinding,
4481
4504
  args: ['class.valtimo-page-title--compact']
@@ -5266,37 +5289,58 @@ class ValtimoCdsModalDirective {
5266
5289
  this.document = document;
5267
5290
  this.elementRef = elementRef;
5268
5291
  this.renderer = renderer;
5269
- this.attributeMutation = (mutation) => {
5270
- const OPEN_ATTRIBUTE_NAME = 'ng-reflect-open';
5271
- if (mutation.attributeName === OPEN_ATTRIBUTE_NAME) {
5272
- const open = this.elementRef.nativeElement.getAttribute(OPEN_ATTRIBUTE_NAME);
5273
- if (typeof open === 'string') {
5274
- if (open === 'true') {
5275
- this.setStyle();
5276
- }
5277
- else if (open === 'false') {
5278
- this.removeStyle();
5279
- }
5280
- }
5281
- }
5282
- };
5283
- this._mutationObserver = new MutationObserver((mutations) => {
5284
- mutations.forEach((mutation) => this.attributeMutation(mutation));
5285
- });
5292
+ this.enableOverflow = false;
5286
5293
  }
5287
5294
  ngAfterViewInit() {
5295
+ this._mutationObserver = new MutationObserver((mutations) => {
5296
+ this.handleMutations(mutations);
5297
+ });
5288
5298
  this._mutationObserver.observe(this.elementRef.nativeElement, {
5289
5299
  attributes: true,
5300
+ childList: true,
5301
+ subtree: true,
5290
5302
  });
5303
+ const open = this.elementRef.nativeElement.getAttribute('ng-reflect-open');
5304
+ if (open === 'true') {
5305
+ this.applyDocumentOverflowHidden();
5306
+ }
5307
+ this.applyOverflowToModalElements();
5291
5308
  }
5292
5309
  ngOnDestroy() {
5293
5310
  this._mutationObserver.disconnect();
5294
5311
  }
5295
- 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() {
5296
5328
  this.renderer.setStyle(this.document.body, 'overflow', 'hidden', RendererStyleFlags2.Important);
5297
5329
  this.renderer.setStyle(this.document.documentElement, 'overflow', 'hidden', RendererStyleFlags2.Important);
5298
5330
  this.preventModalCloseButtonTooltip();
5299
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
+ }
5300
5344
  preventModalCloseButtonTooltip() {
5301
5345
  const modalElement = this.elementRef.nativeElement;
5302
5346
  const closeButton = modalElement.querySelector('.cds--modal-close');
@@ -5316,20 +5360,20 @@ class ValtimoCdsModalDirective {
5316
5360
  };
5317
5361
  requestAnimationFrame(blurIfFocused);
5318
5362
  }
5319
- removeStyle() {
5320
- this.renderer.removeStyle(this.document.body, 'overflow');
5321
- this.renderer.removeStyle(this.document.documentElement, 'overflow');
5322
- }
5323
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 }); }
5324
- 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 }); }
5325
5365
  }
5326
5366
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValtimoCdsModalDirective, decorators: [{
5327
5367
  type: Directive,
5328
- args: [{ selector: '[valtimoCdsModal]' }]
5368
+ args: [{
5369
+ selector: '[valtimoCdsModal]',
5370
+ }]
5329
5371
  }], ctorParameters: () => [{ type: Document, decorators: [{
5330
5372
  type: Inject,
5331
5373
  args: [DOCUMENT]
5332
- }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }] });
5374
+ }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { enableOverflow: [{
5375
+ type: Input
5376
+ }] } });
5333
5377
 
5334
5378
  class CarbonTagsModalComponent {
5335
5379
  constructor() {
@@ -5347,7 +5391,7 @@ class CarbonTagsModalComponent {
5347
5391
  this.closeEvent.emit();
5348
5392
  }
5349
5393
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CarbonTagsModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5350
- 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 }); }
5351
5395
  }
5352
5396
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CarbonTagsModalComponent, decorators: [{
5353
5397
  type: Component,
@@ -5408,6 +5452,12 @@ class CarbonListComponent {
5408
5452
  get pagination() {
5409
5453
  return this._pagination;
5410
5454
  }
5455
+ set initialSortState(value) {
5456
+ if (!value || this._isSortInit)
5457
+ return;
5458
+ this._isSortInit = true;
5459
+ this.sort$.next(value);
5460
+ }
5411
5461
  set sortState(value) {
5412
5462
  if (!value)
5413
5463
  return;
@@ -5444,6 +5494,7 @@ class CarbonListComponent {
5444
5494
  * @deprecated The actions field is deprecated. Actions can be added through the **@Input field**.
5445
5495
  */
5446
5496
  this.actions = [];
5497
+ this._isSortInit = false;
5447
5498
  this.isSearchable = false;
5448
5499
  this.enableSingleSelection = false;
5449
5500
  this.showSelectionColumn = false;
@@ -5571,9 +5622,6 @@ class CarbonListComponent {
5571
5622
  if (this.pagination) {
5572
5623
  this.loadPaginationSize();
5573
5624
  }
5574
- if (this.initialSortState) {
5575
- this.sort$.next(this.initialSortState);
5576
- }
5577
5625
  this._subscriptions.add(this.searchFormControl.valueChanges
5578
5626
  .pipe(debounceTime$1(500))
5579
5627
  .subscribe((searchString) => {
@@ -6945,6 +6993,7 @@ class PageHeaderComponent {
6945
6993
  this.pageTitleService = pageTitleService;
6946
6994
  this.showPageHeader$ = this.userInterfaceService.showPageHeader$;
6947
6995
  this.compactMode$ = this.pageHeaderService.compactMode$;
6996
+ this.smallTitle$ = this.pageHeaderService.smallTitle$;
6948
6997
  this.pageActionsHasContent$ = this.pageHeaderService.pageActionsHasContent$;
6949
6998
  this.pageTitleHidden$ = this.pageTitleService.pageTitleHidden$;
6950
6999
  }
@@ -6965,11 +7014,11 @@ class PageHeaderComponent {
6965
7014
  this._pageHeadResizeObserver.observe(this._pageHead.nativeElement);
6966
7015
  }
6967
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 }); }
6968
- 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" }] }); }
6969
7018
  }
6970
7019
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageHeaderComponent, decorators: [{
6971
7020
  type: Component,
6972
- 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"] }]
6973
7022
  }], ctorParameters: () => [{ type: UserInterfaceService }, { type: PageHeaderService }, { type: PageTitleService }], propDecorators: { _contentrVcr: [{
6974
7023
  type: ViewChild,
6975
7024
  args: ['contentVcr', { static: true, read: ViewContainerRef }]
@@ -9551,9 +9600,7 @@ class ValuePathSelectorComponent {
9551
9600
  this._version$.next(value);
9552
9601
  }
9553
9602
  set prefixes(value) {
9554
- if (!value)
9555
- return;
9556
- this._prefixesSubject$.next(value);
9603
+ this._prefixes$.next(value ?? []);
9557
9604
  }
9558
9605
  set defaultValue(value) {
9559
9606
  if (!value)
@@ -9571,9 +9618,6 @@ class ValuePathSelectorComponent {
9571
9618
  get _documentDefinitionName$() {
9572
9619
  return this._documentDefinitionNameSubject$.pipe(filter$1(value => !!value));
9573
9620
  }
9574
- get _prefixes$() {
9575
- return this._prefixesSubject$.pipe(filter$1(value => !!value));
9576
- }
9577
9621
  constructor(valuePathSelectorService, formBuilder, documentService) {
9578
9622
  this.valuePathSelectorService = valuePathSelectorService;
9579
9623
  this.formBuilder = formBuilder;
@@ -9597,7 +9641,7 @@ class ValuePathSelectorComponent {
9597
9641
  this.collectionSelected = new EventEmitter();
9598
9642
  this._documentDefinitionNameSubject$ = new BehaviorSubject('');
9599
9643
  this._version$ = new BehaviorSubject(null);
9600
- this._prefixesSubject$ = new BehaviorSubject(null);
9644
+ this._prefixes$ = new BehaviorSubject([]);
9601
9645
  this._inputMode$ = new BehaviorSubject(ValuePathSelectorInputMode.DROPDOWN);
9602
9646
  this.inputModeIsDropdown$ = this._inputMode$.pipe(map(mode => {
9603
9647
  return mode === ValuePathSelectorInputMode.DROPDOWN;
@@ -13977,7 +14021,7 @@ class ConfirmationModalComponent {
13977
14021
  this.optionalEvent.emit(this.outputOnOptional);
13978
14022
  }
13979
14023
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmationModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13980
- 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" }] }); }
13981
14025
  }
13982
14026
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmationModalComponent, decorators: [{
13983
14027
  type: Component,
@@ -14506,6 +14550,154 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
14506
14550
  }]
14507
14551
  }] });
14508
14552
 
14553
+ /*
14554
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
14555
+ *
14556
+ * Licensed under EUPL, Version 1.2 (the "License");
14557
+ * you may not use this file except in compliance with the License.
14558
+ * You may obtain a copy of the License at
14559
+ *
14560
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
14561
+ *
14562
+ * Unless required by applicable law or agreed to in writing, software
14563
+ * distributed under the License is distributed on an "AS IS" basis,
14564
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14565
+ * See the License for the specific language governing permissions and
14566
+ * limitations under the License.
14567
+ */
14568
+ class StatusSelectorComponent {
14569
+ set statuses(value) {
14570
+ this._statuses$.next((value || []).map(status => ({
14571
+ ...status,
14572
+ tagType: InternalCaseStatusUtils.getTagTypeFromInternalCaseStatusColor(status.color),
14573
+ })));
14574
+ }
14575
+ set selectedStatuses(value) {
14576
+ this._selectedStatuses$.next(value);
14577
+ }
14578
+ constructor(translateService) {
14579
+ this.translateService = translateService;
14580
+ this.carbonTheme = CARBON_THEME.WHITE;
14581
+ this.selectedStatusesChangeEvent = new EventEmitter();
14582
+ this._statuses$ = new BehaviorSubject([]);
14583
+ this._selectedStatuses$ = new BehaviorSubject([]);
14584
+ this.CASES_WITHOUT_STATUS_KEY = CASES_WITHOUT_STATUS_KEY;
14585
+ this.listItems$ = combineLatest([
14586
+ this._statuses$,
14587
+ this._selectedStatuses$,
14588
+ this.translateService.stream('key'),
14589
+ ]).pipe(filter(([statuses, selectedStatuses]) => !!statuses && !!selectedStatuses), map(([statuses, selectedStatuses]) => statuses.map(status => ({
14590
+ content: status.key === this.CASES_WITHOUT_STATUS_KEY
14591
+ ? this.translateService.instant('dossierManagement.statuses.withoutStatus')
14592
+ : status.title,
14593
+ selected: !!selectedStatuses.find(selectedStatus => selectedStatus.key === status.key),
14594
+ key: status.key,
14595
+ tagType: status.tagType,
14596
+ }))), distinctUntilChanged((previous, current) => isEqual(previous, current)));
14597
+ }
14598
+ itemSelected(event) {
14599
+ const newSelectedItems = event?.filter(item => item?.selected) || [];
14600
+ this._statuses$.pipe(take(1)).subscribe(statuses => {
14601
+ const newSelectedStatuses = newSelectedItems
14602
+ .map(item => statuses.find(status => status.key === item.key))
14603
+ .filter(status => !!status);
14604
+ this.selectedStatusesChangeEvent.emit(newSelectedStatuses);
14605
+ });
14606
+ }
14607
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusSelectorComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
14608
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: StatusSelectorComponent, isStandalone: true, selector: "valtimo-status-selector", inputs: { statuses: "statuses", selectedStatuses: "selectedStatuses", carbonTheme: "carbonTheme", disabled: "disabled" }, outputs: { selectedStatusesChangeEvent: "selectedStatusesChangeEvent" }, 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-label class=\"status-selector\" *ngIf=\"listItems$ | async as listItems\">\n {{ 'dossierManagement.statuses.searchFieldTitle' | translate }}\n\n <cds-dropdown\n [appendInline]=\"false\"\n type=\"multi\"\n [disabled]=\"disabled\"\n selectionFeedback=\"fixed\"\n (selected)=\"itemSelected($event)\"\n >\n <cds-dropdown-list\n [items]=\"listItems\"\n [listTpl]=\"colorDropdownItemTemplate\"\n ></cds-dropdown-list>\n </cds-dropdown>\n</cds-label>\n\n<ng-template #colorDropdownItemTemplate let-item=\"item\">\n <div class=\"status-selector-dropdown-template\">\n <cds-checkbox [checked]=\"item.selected\"></cds-checkbox>\n\n <span *ngIf=\"item.key === CASES_WITHOUT_STATUS_KEY\" class=\"generic-span\">{{\n item?.content\n }}</span>\n\n <cds-tag\n *ngIf=\"item.key !== CASES_WITHOUT_STATUS_KEY\"\n class=\"cds-tag--no-margin\"\n [type]=\"item?.tagType\"\n [title]=\"item?.content\"\n >\n {{ item?.content }}\n </cds-tag>\n </div>\n</ng-template>\n", styles: ["::ng-deep .status-selector .cds--label{width:100%;margin-bottom:0!important}::ng-deep .status-selector .cds--multiselect{margin-top:8px}::ng-deep .status-selector-dropdown-template{display:flex;margin-top:-4px}::ng-deep .status-selector-dropdown-template .cds--tag{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:24px;max-width:100%}::ng-deep .status-selector-dropdown-template .generic-span{display:flex;align-items:center}\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: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i3.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i3.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i3.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i3.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14609
+ }
14610
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusSelectorComponent, decorators: [{
14611
+ type: Component,
14612
+ args: [{ selector: 'valtimo-status-selector', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, DropdownModule, CheckboxModule, InputModule$1, TranslateModule, TagModule], 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-label class=\"status-selector\" *ngIf=\"listItems$ | async as listItems\">\n {{ 'dossierManagement.statuses.searchFieldTitle' | translate }}\n\n <cds-dropdown\n [appendInline]=\"false\"\n type=\"multi\"\n [disabled]=\"disabled\"\n selectionFeedback=\"fixed\"\n (selected)=\"itemSelected($event)\"\n >\n <cds-dropdown-list\n [items]=\"listItems\"\n [listTpl]=\"colorDropdownItemTemplate\"\n ></cds-dropdown-list>\n </cds-dropdown>\n</cds-label>\n\n<ng-template #colorDropdownItemTemplate let-item=\"item\">\n <div class=\"status-selector-dropdown-template\">\n <cds-checkbox [checked]=\"item.selected\"></cds-checkbox>\n\n <span *ngIf=\"item.key === CASES_WITHOUT_STATUS_KEY\" class=\"generic-span\">{{\n item?.content\n }}</span>\n\n <cds-tag\n *ngIf=\"item.key !== CASES_WITHOUT_STATUS_KEY\"\n class=\"cds-tag--no-margin\"\n [type]=\"item?.tagType\"\n [title]=\"item?.content\"\n >\n {{ item?.content }}\n </cds-tag>\n </div>\n</ng-template>\n", styles: ["::ng-deep .status-selector .cds--label{width:100%;margin-bottom:0!important}::ng-deep .status-selector .cds--multiselect{margin-top:8px}::ng-deep .status-selector-dropdown-template{display:flex;margin-top:-4px}::ng-deep .status-selector-dropdown-template .cds--tag{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:24px;max-width:100%}::ng-deep .status-selector-dropdown-template .generic-span{display:flex;align-items:center}\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"] }]
14613
+ }], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { statuses: [{
14614
+ type: Input
14615
+ }], selectedStatuses: [{
14616
+ type: Input
14617
+ }], carbonTheme: [{
14618
+ type: Input
14619
+ }], disabled: [{
14620
+ type: Input
14621
+ }], selectedStatusesChangeEvent: [{
14622
+ type: Output
14623
+ }] } });
14624
+
14625
+ /*
14626
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
14627
+ *
14628
+ * Licensed under EUPL, Version 1.2 (the "License");
14629
+ * you may not use this file except in compliance with the License.
14630
+ * You may obtain a copy of the License at
14631
+ *
14632
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
14633
+ *
14634
+ * Unless required by applicable law or agreed to in writing, software
14635
+ * distributed under the License is distributed on an "AS IS" basis,
14636
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14637
+ * See the License for the specific language governing permissions and
14638
+ * limitations under the License.
14639
+ */
14640
+ const formioValueResolverSelectorEditForm = () => ({
14641
+ components: [{ key: 'type', type: 'hidden' }],
14642
+ });
14643
+
14644
+ /*
14645
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
14646
+ *
14647
+ * Licensed under EUPL, Version 1.2 (the "License");
14648
+ * you may not use this file except in compliance with the License.
14649
+ * You may obtain a copy of the License at
14650
+ *
14651
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
14652
+ *
14653
+ * Unless required by applicable law or agreed to in writing, software
14654
+ * distributed under the License is distributed on an "AS IS" basis,
14655
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14656
+ * See the License for the specific language governing permissions and
14657
+ * limitations under the License.
14658
+ */
14659
+ const COMPONENT_OPTIONS$1 = {
14660
+ type: 'valtimo-value-resolver-selector',
14661
+ selector: 'valtimo-value-resolver-selector',
14662
+ title: 'Valtimo value resolver selector',
14663
+ group: 'none',
14664
+ icon: 'user',
14665
+ editForm: formioValueResolverSelectorEditForm,
14666
+ schema: {
14667
+ label: 'Valtimo value resolver selector',
14668
+ tableView: true,
14669
+ },
14670
+ };
14671
+ function registerFormioValueResolverSelectorComponent(injector) {
14672
+ // @ts-ignore
14673
+ registerCustomFormioComponent(COMPONENT_OPTIONS$1, FormioValueResolverSelectorComponent, injector);
14674
+ setTimeout(() => {
14675
+ let valtimoWindow = window;
14676
+ valtimoWindow.flags = {
14677
+ ...valtimoWindow.flags,
14678
+ formioValueResolverSelectorComponentRegistered: true,
14679
+ };
14680
+ });
14681
+ }
14682
+
14683
+ const COMPONENT_OPTIONS = {
14684
+ type: 'dummy',
14685
+ selector: 'valtimo-dummy',
14686
+ title: 'Dummy',
14687
+ group: 'none',
14688
+ icon: 'bank',
14689
+ schema: {
14690
+ hidden: true,
14691
+ label: 'Dummy component',
14692
+ key: 'dummy',
14693
+ hideLabel: false,
14694
+ tableView: true,
14695
+ },
14696
+ };
14697
+ function enableCustomFormioComponents(injector) {
14698
+ registerCustomFormioComponent(COMPONENT_OPTIONS, FormioDummyComponent, injector);
14699
+ }
14700
+
14509
14701
  /*
14510
14702
  * Copyright 2015-2024 Ritense BV, the Netherlands.
14511
14703
  *
@@ -16023,154 +16215,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
16023
16215
  }]
16024
16216
  }] });
16025
16217
 
16026
- /*
16027
- * Copyright 2015-2024 Ritense BV, the Netherlands.
16028
- *
16029
- * Licensed under EUPL, Version 1.2 (the "License");
16030
- * you may not use this file except in compliance with the License.
16031
- * You may obtain a copy of the License at
16032
- *
16033
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
16034
- *
16035
- * Unless required by applicable law or agreed to in writing, software
16036
- * distributed under the License is distributed on an "AS IS" basis,
16037
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16038
- * See the License for the specific language governing permissions and
16039
- * limitations under the License.
16040
- */
16041
- class StatusSelectorComponent {
16042
- set statuses(value) {
16043
- this._statuses$.next((value || []).map(status => ({
16044
- ...status,
16045
- tagType: InternalCaseStatusUtils.getTagTypeFromInternalCaseStatusColor(status.color),
16046
- })));
16218
+ class RemoveClassnamesDirective {
16219
+ constructor(el, cdr) {
16220
+ this.el = el;
16221
+ this.cdr = cdr;
16222
+ this.removeClassnames = [];
16047
16223
  }
16048
- set selectedStatuses(value) {
16049
- this._selectedStatuses$.next(value);
16224
+ ngAfterViewInit() {
16225
+ this.removeClasses();
16226
+ setTimeout(() => this.removeClasses());
16227
+ this._observer = new MutationObserver(() => {
16228
+ this.removeClasses();
16229
+ this.cdr.detectChanges();
16230
+ });
16231
+ this._observer.observe(this.el.nativeElement, {
16232
+ childList: true,
16233
+ subtree: true,
16234
+ attributes: true,
16235
+ });
16050
16236
  }
16051
- constructor(translateService) {
16052
- this.translateService = translateService;
16053
- this.carbonTheme = CARBON_THEME.WHITE;
16054
- this.selectedStatusesChangeEvent = new EventEmitter();
16055
- this._statuses$ = new BehaviorSubject([]);
16056
- this._selectedStatuses$ = new BehaviorSubject([]);
16057
- this.CASES_WITHOUT_STATUS_KEY = CASES_WITHOUT_STATUS_KEY;
16058
- this.listItems$ = combineLatest([
16059
- this._statuses$,
16060
- this._selectedStatuses$,
16061
- this.translateService.stream('key'),
16062
- ]).pipe(filter(([statuses, selectedStatuses]) => !!statuses && !!selectedStatuses), map(([statuses, selectedStatuses]) => statuses.map(status => ({
16063
- content: status.key === this.CASES_WITHOUT_STATUS_KEY
16064
- ? this.translateService.instant('dossierManagement.statuses.withoutStatus')
16065
- : status.title,
16066
- selected: !!selectedStatuses.find(selectedStatus => selectedStatus.key === status.key),
16067
- key: status.key,
16068
- tagType: status.tagType,
16069
- }))), distinctUntilChanged((previous, current) => isEqual(previous, current)));
16237
+ ngDoCheck() {
16238
+ this.removeClasses();
16070
16239
  }
16071
- itemSelected(event) {
16072
- const newSelectedItems = event?.filter(item => item?.selected) || [];
16073
- this._statuses$.pipe(take(1)).subscribe(statuses => {
16074
- const newSelectedStatuses = newSelectedItems
16075
- .map(item => statuses.find(status => status.key === item.key))
16076
- .filter(status => !!status);
16077
- this.selectedStatusesChangeEvent.emit(newSelectedStatuses);
16240
+ ngOnDestroy() {
16241
+ this._observer?.disconnect();
16242
+ }
16243
+ removeClasses() {
16244
+ const hostElement = this.el.nativeElement;
16245
+ this.removeClassnames.forEach(className => {
16246
+ if (hostElement.classList.contains(className)) {
16247
+ hostElement.classList.remove(className);
16248
+ }
16249
+ const childElements = this.el.nativeElement.querySelectorAll(`.${className}`);
16250
+ childElements.forEach((element) => {
16251
+ element.classList.remove(className);
16252
+ });
16078
16253
  });
16254
+ this.cdr.markForCheck();
16079
16255
  }
16080
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusSelectorComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
16081
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: StatusSelectorComponent, isStandalone: true, selector: "valtimo-status-selector", inputs: { statuses: "statuses", selectedStatuses: "selectedStatuses", carbonTheme: "carbonTheme", disabled: "disabled" }, outputs: { selectedStatusesChangeEvent: "selectedStatusesChangeEvent" }, 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-label class=\"status-selector\" *ngIf=\"listItems$ | async as listItems\">\n {{ 'dossierManagement.statuses.searchFieldTitle' | translate }}\n\n <cds-dropdown\n [appendInline]=\"false\"\n type=\"multi\"\n [disabled]=\"disabled\"\n selectionFeedback=\"fixed\"\n (selected)=\"itemSelected($event)\"\n >\n <cds-dropdown-list\n [items]=\"listItems\"\n [listTpl]=\"colorDropdownItemTemplate\"\n ></cds-dropdown-list>\n </cds-dropdown>\n</cds-label>\n\n<ng-template #colorDropdownItemTemplate let-item=\"item\">\n <div class=\"status-selector-dropdown-template\">\n <cds-checkbox [checked]=\"item.selected\"></cds-checkbox>\n\n <span *ngIf=\"item.key === CASES_WITHOUT_STATUS_KEY\" class=\"generic-span\">{{\n item?.content\n }}</span>\n\n <cds-tag\n *ngIf=\"item.key !== CASES_WITHOUT_STATUS_KEY\"\n class=\"cds-tag--no-margin\"\n [type]=\"item?.tagType\"\n [title]=\"item?.content\"\n >\n {{ item?.content }}\n </cds-tag>\n </div>\n</ng-template>\n", styles: ["::ng-deep .status-selector .cds--label{width:100%;margin-bottom:0!important}::ng-deep .status-selector .cds--multiselect{margin-top:8px}::ng-deep .status-selector-dropdown-template{display:flex;margin-top:-4px}::ng-deep .status-selector-dropdown-template .cds--tag{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:24px;max-width:100%}::ng-deep .status-selector-dropdown-template .generic-span{display:flex;align-items:center}\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: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i3.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i3.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i3.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "ngmodule", type: InputModule$1 }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i3.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16256
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RemoveClassnamesDirective, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
16257
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: RemoveClassnamesDirective, isStandalone: true, selector: "[removeClassnames]", inputs: { removeClassnames: "removeClassnames" }, ngImport: i0 }); }
16082
16258
  }
16083
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusSelectorComponent, decorators: [{
16084
- type: Component,
16085
- args: [{ selector: 'valtimo-status-selector', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, DropdownModule, CheckboxModule, InputModule$1, TranslateModule, TagModule], 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-label class=\"status-selector\" *ngIf=\"listItems$ | async as listItems\">\n {{ 'dossierManagement.statuses.searchFieldTitle' | translate }}\n\n <cds-dropdown\n [appendInline]=\"false\"\n type=\"multi\"\n [disabled]=\"disabled\"\n selectionFeedback=\"fixed\"\n (selected)=\"itemSelected($event)\"\n >\n <cds-dropdown-list\n [items]=\"listItems\"\n [listTpl]=\"colorDropdownItemTemplate\"\n ></cds-dropdown-list>\n </cds-dropdown>\n</cds-label>\n\n<ng-template #colorDropdownItemTemplate let-item=\"item\">\n <div class=\"status-selector-dropdown-template\">\n <cds-checkbox [checked]=\"item.selected\"></cds-checkbox>\n\n <span *ngIf=\"item.key === CASES_WITHOUT_STATUS_KEY\" class=\"generic-span\">{{\n item?.content\n }}</span>\n\n <cds-tag\n *ngIf=\"item.key !== CASES_WITHOUT_STATUS_KEY\"\n class=\"cds-tag--no-margin\"\n [type]=\"item?.tagType\"\n [title]=\"item?.content\"\n >\n {{ item?.content }}\n </cds-tag>\n </div>\n</ng-template>\n", styles: ["::ng-deep .status-selector .cds--label{width:100%;margin-bottom:0!important}::ng-deep .status-selector .cds--multiselect{margin-top:8px}::ng-deep .status-selector-dropdown-template{display:flex;margin-top:-4px}::ng-deep .status-selector-dropdown-template .cds--tag{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:24px;max-width:100%}::ng-deep .status-selector-dropdown-template .generic-span{display:flex;align-items:center}\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"] }]
16086
- }], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { statuses: [{
16087
- type: Input
16088
- }], selectedStatuses: [{
16089
- type: Input
16090
- }], carbonTheme: [{
16091
- type: Input
16092
- }], disabled: [{
16259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RemoveClassnamesDirective, decorators: [{
16260
+ type: Directive,
16261
+ args: [{
16262
+ selector: '[removeClassnames]',
16263
+ standalone: true,
16264
+ }]
16265
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { removeClassnames: [{
16093
16266
  type: Input
16094
- }], selectedStatusesChangeEvent: [{
16095
- type: Output
16096
16267
  }] } });
16097
16268
 
16098
- /*
16099
- * Copyright 2015-2024 Ritense BV, the Netherlands.
16100
- *
16101
- * Licensed under EUPL, Version 1.2 (the "License");
16102
- * you may not use this file except in compliance with the License.
16103
- * You may obtain a copy of the License at
16104
- *
16105
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
16106
- *
16107
- * Unless required by applicable law or agreed to in writing, software
16108
- * distributed under the License is distributed on an "AS IS" basis,
16109
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16110
- * See the License for the specific language governing permissions and
16111
- * limitations under the License.
16112
- */
16113
- const formioValueResolverSelectorEditForm = () => ({
16114
- components: [{ key: 'type', type: 'hidden' }],
16115
- });
16116
-
16117
- /*
16118
- * Copyright 2015-2024 Ritense BV, the Netherlands.
16119
- *
16120
- * Licensed under EUPL, Version 1.2 (the "License");
16121
- * you may not use this file except in compliance with the License.
16122
- * You may obtain a copy of the License at
16123
- *
16124
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
16125
- *
16126
- * Unless required by applicable law or agreed to in writing, software
16127
- * distributed under the License is distributed on an "AS IS" basis,
16128
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16129
- * See the License for the specific language governing permissions and
16130
- * limitations under the License.
16131
- */
16132
- const COMPONENT_OPTIONS$1 = {
16133
- type: 'valtimo-value-resolver-selector',
16134
- selector: 'valtimo-value-resolver-selector',
16135
- title: 'Valtimo value resolver selector',
16136
- group: 'none',
16137
- icon: 'user',
16138
- editForm: formioValueResolverSelectorEditForm,
16139
- schema: {
16140
- label: 'Valtimo value resolver selector',
16141
- tableView: true,
16142
- },
16143
- };
16144
- function registerFormioValueResolverSelectorComponent(injector) {
16145
- // @ts-ignore
16146
- registerCustomFormioComponent(COMPONENT_OPTIONS$1, FormioValueResolverSelectorComponent, injector);
16147
- setTimeout(() => {
16148
- let valtimoWindow = window;
16149
- valtimoWindow.flags = {
16150
- ...valtimoWindow.flags,
16151
- formioValueResolverSelectorComponentRegistered: true,
16152
- };
16153
- });
16154
- }
16155
-
16156
- const COMPONENT_OPTIONS = {
16157
- type: 'dummy',
16158
- selector: 'valtimo-dummy',
16159
- title: 'Dummy',
16160
- group: 'none',
16161
- icon: 'bank',
16162
- schema: {
16163
- hidden: true,
16164
- label: 'Dummy component',
16165
- key: 'dummy',
16166
- hideLabel: false,
16167
- tableView: true,
16168
- },
16169
- };
16170
- function enableCustomFormioComponents(injector) {
16171
- registerCustomFormioComponent(COMPONENT_OPTIONS, FormioDummyComponent, injector);
16172
- }
16173
-
16174
16269
  /*
16175
16270
  * Copyright 2015-2024 Ritense BV, the Netherlands.
16176
16271
  *
@@ -16261,5 +16356,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
16261
16356
  * Generated bundle index. Do not edit.
16262
16357
  */
16263
16358
 
16264
- export { Alert, AlertComponent, AlertModule, AlertService, AlertType, AlertsOptionsImpl, BOOLEAN_CONVERTER_VALUES, BpmnJsDiagramComponent, BpmnJsDiagramModule, BreadcrumbNavigationComponent, BreadcrumbNavigationModule, BreadcrumbService, ButtonComponent, ButtonModule, CARBON_CONSTANTS, CARBON_THEME, CASES_WITHOUT_STATUS_KEY, CamundaFormComponent, CamundaFormModule, CarbonListComponent, CarbonListFilterPipe, CarbonListModule, CarbonMultiInputComponent, CarbonMultiInputModule, CarbonNoResultsComponent, CardComponent, CardModule, CaseCountPipe, CaseTagsSelectorComponent, CdsThemeService, ChoiceFieldService, CommandClickDirectiveModule, ComponentsPipesModule, ConfirmationModalComponent, ConfirmationModalModule, CtrlClickDirective, CurrentCarbonTheme, CustomTagsService, DEFAULT_LIST_TRANSLATIONS, DEFAULT_PAGINATION, DEFAULT_PAGINATOR_CONFIG, DataListComponent, DataListModule, DatePickerComponent, DatePickerModule, DigitOnlyDirective, DropzoneComponent, DropzoneModule, EditorComponent, EditorModule, EllipsisPipe, ExpansionPanelComponent, ExpansionPanelModule, FieldAutoFocusDirective, FieldAutoFocusModule, FileSizeModule, FileSizePipe, FilterSidebarComponent, FilterSidebarModule, FitPageDirective, FitPageDirectiveModule, FormComponent, FormIoCurrencyComponent, FormIoCurrentUserComponent, FormIoDomService, FormIoIbanComponent, FormIoModule, FormIoStateService, FormIoUploaderComponent, FormModule, FormioBuilderComponent, FormioComponent, FormioDummyComponent, FormioOptionsImpl, FormioValueResolverSelectorComponent, InputComponent, InputLabelComponent, InputLabelModule, InputModule, IsArrayPipe, KeyGeneratorService, LeftSidebarComponent, LeftSidebarModule, ListComponent, ListFilterPipe, ListModule, MenuItemTextComponent, MenuItemTranslationPipe, MenuModule, MenuRoutingModule, MenuService, ModalComponent, ModalModule, ModalService, MonacoTheme, MoveRowDirection, MultiInputFormComponent, MultiInputFormModule, MultiselectDropdownComponent, MultiselectDropdownModule, PageContainerComponent, PageContentComponent, PageHeaderActionsComponent, PageHeaderComponent, PageHeaderIntroductionComponent, PageHeaderModule, PageHeaderService, PageModule, PageSubtitleService, PageTitleComponent, PageTitleModule, PageTitleService, ParagraphComponent, ParagraphModule, PendingChangesComponent, PendingChangesService, ProgressBarComponent, ProgressBarModule, PromptComponent, PromptModule, PromptService, RadioComponent, RadioModule, RenderInPageHeaderDirective, RenderInPageHeaderDirectiveModule, RenderPageHeaderDirective, RenderPageHeaderDirectiveModule, RightSidebarComponent, RightSidebarModule, SearchFieldsComponent, SearchFieldsModule, SearchableDropdownComponent, SearchableDropdownModule, SearchableDropdownSelectComponent, SearchableDropdownSelectModule, SelectComponent, SelectModule, SelectableCarbonTheme, ShellService, SpinnerComponent, SpinnerModule, StatusSelectorComponent, StepperContainerComponent, StepperContentComponent, StepperFooterComponent, StepperFooterStepComponent, StepperHeaderComponent, StepperModule, StepperService, StepperStepComponent, TAG_ELLIPSIS_LIMIT, TableComponent, TableModule, TimelineComponent, TimelineItemImpl, TimelineModule, TitleComponent, TitleModule, TooltipComponent, TooltipDirective, TooltipIconComponent, TooltipIconModule, TooltipModule, TopbarComponent, TopbarModule, UploaderComponent, UploaderDragDropDirective, UploaderModule, UserInterfaceService, VCardComponent, VCardModule, VModalComponent, VModalModule, VPageHeaderComponent, ValtimoCdsModalDirective, ValtimoCdsModalDirectiveModule, ValtimoCdsOverflowButtonDirective, ValtimoCdsOverflowButtonDirectiveModule, ValtimoModalService, ValuePathSelectorComponent, ValuePathSelectorInputMode, ValuePathSelectorPrefix, ValuePathSelectorService, ValuePathType, ViewContentService, ViewType, WebcamComponent, WebcamModule, WidgetComponent, WidgetModule, createCustomFormioComponent, customUploaderType, enableCustomFormioComponents, menuInitializer, pendingChangesGuard, registerCustomFormioComponent, registerCustomFormioComponentWithClass, registerCustomTag, registerCustomTags, registerFormioCurrencyComponent, registerFormioCurrentUserComponent, registerFormioFileSelectorComponent, registerFormioIbanComponent, registerFormioUploadComponent, registerFormioValueResolverSelectorComponent };
16359
+ export { Alert, AlertComponent, AlertModule, AlertService, AlertType, AlertsOptionsImpl, BOOLEAN_CONVERTER_VALUES, BpmnJsDiagramComponent, BpmnJsDiagramModule, BreadcrumbNavigationComponent, BreadcrumbNavigationModule, BreadcrumbService, ButtonComponent, ButtonModule, CARBON_CONSTANTS, CARBON_THEME, CASES_WITHOUT_STATUS_KEY, CamundaFormComponent, CamundaFormModule, CarbonListComponent, CarbonListFilterPipe, CarbonListModule, CarbonMultiInputComponent, CarbonMultiInputModule, CarbonNoResultsComponent, CardComponent, CardModule, CaseCountPipe, CaseTagsSelectorComponent, CdsThemeService, ChoiceFieldService, CommandClickDirectiveModule, ComponentsPipesModule, ConfirmationModalComponent, ConfirmationModalModule, CtrlClickDirective, CurrentCarbonTheme, CustomTagsService, DEFAULT_LIST_TRANSLATIONS, DEFAULT_PAGINATION, DEFAULT_PAGINATOR_CONFIG, DataListComponent, DataListModule, DatePickerComponent, DatePickerModule, DigitOnlyDirective, DropzoneComponent, DropzoneModule, EditorComponent, EditorModule, EllipsisPipe, ExpansionPanelComponent, ExpansionPanelModule, FieldAutoFocusDirective, FieldAutoFocusModule, FileSizeModule, FileSizePipe, FilterSidebarComponent, FilterSidebarModule, FitPageDirective, FitPageDirectiveModule, FormComponent, FormIoCurrencyComponent, FormIoCurrentUserComponent, FormIoDomService, FormIoIbanComponent, FormIoModule, FormIoStateService, FormIoUploaderComponent, FormModule, FormioBuilderComponent, FormioComponent, FormioDummyComponent, FormioOptionsImpl, FormioValueResolverSelectorComponent, InputComponent, InputLabelComponent, InputLabelModule, InputModule, IsArrayPipe, KeyGeneratorService, LeftSidebarComponent, LeftSidebarModule, ListComponent, ListFilterPipe, ListModule, MenuItemTextComponent, MenuItemTranslationPipe, MenuModule, MenuRoutingModule, MenuService, ModalComponent, ModalModule, ModalService, MonacoTheme, MoveRowDirection, MultiInputFormComponent, MultiInputFormModule, MultiselectDropdownComponent, MultiselectDropdownModule, PageContainerComponent, PageContentComponent, PageHeaderActionsComponent, PageHeaderComponent, PageHeaderIntroductionComponent, PageHeaderModule, PageHeaderService, PageModule, PageSubtitleService, PageTitleComponent, PageTitleModule, PageTitleService, ParagraphComponent, ParagraphModule, PendingChangesComponent, PendingChangesService, ProgressBarComponent, ProgressBarModule, PromptComponent, PromptModule, PromptService, RadioComponent, RadioModule, RemoveClassnamesDirective, RenderInPageHeaderDirective, RenderInPageHeaderDirectiveModule, RenderPageHeaderDirective, RenderPageHeaderDirectiveModule, RightSidebarComponent, RightSidebarModule, SearchFieldsComponent, SearchFieldsModule, SearchableDropdownComponent, SearchableDropdownModule, SearchableDropdownSelectComponent, SearchableDropdownSelectModule, SelectComponent, SelectModule, SelectableCarbonTheme, ShellService, SpinnerComponent, SpinnerModule, StatusSelectorComponent, StepperContainerComponent, StepperContentComponent, StepperFooterComponent, StepperFooterStepComponent, StepperHeaderComponent, StepperModule, StepperService, StepperStepComponent, TAG_ELLIPSIS_LIMIT, TableComponent, TableModule, TimelineComponent, TimelineItemImpl, TimelineModule, TitleComponent, TitleModule, TooltipComponent, TooltipDirective, TooltipIconComponent, TooltipIconModule, TooltipModule, TopbarComponent, TopbarModule, UploaderComponent, UploaderDragDropDirective, UploaderModule, UserInterfaceService, VCardComponent, VCardModule, VModalComponent, VModalModule, VPageHeaderComponent, ValtimoCdsModalDirective, ValtimoCdsModalDirectiveModule, ValtimoCdsOverflowButtonDirective, ValtimoCdsOverflowButtonDirectiveModule, ValtimoModalService, ValuePathSelectorComponent, ValuePathSelectorInputMode, ValuePathSelectorPrefix, ValuePathSelectorService, ValuePathType, ViewContentService, ViewType, WebcamComponent, WebcamModule, WidgetComponent, WidgetModule, createCustomFormioComponent, customUploaderType, enableCustomFormioComponents, menuInitializer, pendingChangesGuard, registerCustomFormioComponent, registerCustomFormioComponentWithClass, registerCustomTag, registerCustomTags, registerFormioCurrencyComponent, registerFormioCurrentUserComponent, registerFormioFileSelectorComponent, registerFormioIbanComponent, registerFormioUploadComponent, registerFormioValueResolverSelectorComponent };
16265
16360
  //# sourceMappingURL=valtimo-components.mjs.map