@valtimo/shared 13.38.0 → 13.39.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.
package/assets/core/nl.json
CHANGED
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
"removeSuccessful": "Document succesvol uit het dossier verwijderd",
|
|
161
161
|
"removeFailed": "Het verwijderen van het document uit het dossier is mislukt"
|
|
162
162
|
},
|
|
163
|
-
"caseUpdated": "
|
|
163
|
+
"caseUpdated": "Dossier aangepast",
|
|
164
164
|
"startSubProcess": "Start",
|
|
165
165
|
"noLinkedStartProcessNotification": "Er is geen startformulier gekoppeld",
|
|
166
166
|
"noLinkedProcessNotification": "Er is geen formulier gekoppeld",
|
|
@@ -1196,7 +1196,7 @@
|
|
|
1196
1196
|
"columns": {
|
|
1197
1197
|
"title": "Statusnaam",
|
|
1198
1198
|
"retentionPeriod": "Bewaartermijn in dagen",
|
|
1199
|
-
"retentionPeriodTooltip": "0 of hoger: retentie is actief,
|
|
1199
|
+
"retentionPeriodTooltip": "0 of hoger: retentie is actief, het dossier wordt na het opgegeven aantal dagen verwijderd. -1: er is geen retentieperiode ingesteld, het dossier wordt niet automatisch verwijderd.",
|
|
1200
1200
|
"deletedImmediately": "Wordt direct verwijderd",
|
|
1201
1201
|
"key": "Status-key",
|
|
1202
1202
|
"label": "Label (Optioneel)",
|
|
@@ -1207,7 +1207,7 @@
|
|
|
1207
1207
|
"title": "Er zijn geen statussen geconfigureerd",
|
|
1208
1208
|
"description": "Klik hier om een status voor dit dossiertype te configureren"
|
|
1209
1209
|
},
|
|
1210
|
-
"noResultsFinalVersion": {"description": "Er zijn geen status aangemaakt voor dit
|
|
1210
|
+
"noResultsFinalVersion": {"description": "Er zijn geen status aangemaakt voor dit dossiertype."}
|
|
1211
1211
|
},
|
|
1212
1212
|
"caseTags": {
|
|
1213
1213
|
"searchFieldTitle": "Tags",
|
|
@@ -1228,7 +1228,7 @@
|
|
|
1228
1228
|
"title": "Er zijn geen tags geconfigureerd",
|
|
1229
1229
|
"description": "Klik hier om een tag voor dit dossiertype te configureren"
|
|
1230
1230
|
},
|
|
1231
|
-
"noResultsFinalVersion": {"description": "Er zijn geen tags aangemaakt voor dit
|
|
1231
|
+
"noResultsFinalVersion": {"description": "Er zijn geen tags aangemaakt voor dit dossiertype."}
|
|
1232
1232
|
},
|
|
1233
1233
|
"draftWarning": {
|
|
1234
1234
|
"title": "Niet gekoppeld aan een versie van het dossiertype",
|
|
@@ -1312,7 +1312,7 @@
|
|
|
1312
1312
|
},
|
|
1313
1313
|
"metroline": {
|
|
1314
1314
|
"title": "Metrolijn",
|
|
1315
|
-
"description": "Toon de voortgang van een
|
|
1315
|
+
"description": "Toon de voortgang van een dossier als een metrolijn"
|
|
1316
1316
|
},
|
|
1317
1317
|
"highlight": {
|
|
1318
1318
|
"title": "Markering",
|
|
@@ -2732,7 +2732,7 @@
|
|
|
2732
2732
|
"message": "Voeg een permissie toe om deze rol toegang tot resources te geven."
|
|
2733
2733
|
},
|
|
2734
2734
|
"tooltips": {
|
|
2735
|
-
"resourceType": "Het type resource waarvoor deze permissie toegang geeft. Bijvoorbeeld: een
|
|
2735
|
+
"resourceType": "Het type resource waarvoor deze permissie toegang geeft. Bijvoorbeeld: een dossierdefinitie, document of taak.",
|
|
2736
2736
|
"actions": "Wat deze rol met de resource mag doen. Bijvoorbeeld: bekijken, wijzigen of verwijderen. Er moet minstens één geselecteerd zijn.",
|
|
2737
2737
|
"conditionType": "Veld vergelijkt een eigenschap van de resource. JSON-veld leest een waarde op een JSON-pad in de JSON-inhoud van het veld. Gerelateerde resource controleert een gekoppelde resource (bijv. het document van een zaak).",
|
|
2738
2738
|
"field": "Een eigenschap van de resource om te controleren. Bijvoorbeeld: name, createdBy of active.",
|
|
@@ -3173,7 +3173,7 @@
|
|
|
3173
3173
|
"addTab": "Tab toevoegen",
|
|
3174
3174
|
"editTab": "Tab bewerken",
|
|
3175
3175
|
"rowAction": "Rijactie",
|
|
3176
|
-
"canStartCase": "Kan
|
|
3176
|
+
"canStartCase": "Kan dossier starten",
|
|
3177
3177
|
"collectionPathTooltip": "Een pad dat leidt naar de verzameling van waarden die je wilt weergeven. Voor het tonen van eigenschappen in IKO's, volg dit voorbeeld: 'iko:/pad/naar/eigenschap'.",
|
|
3178
3178
|
"tabTypes": {
|
|
3179
3179
|
"widgets": "Widgets"
|
|
@@ -3246,8 +3246,8 @@
|
|
|
3246
3246
|
"featureToggles": {
|
|
3247
3247
|
"searchEngine": {
|
|
3248
3248
|
"useOpenSearch": {
|
|
3249
|
-
"title": "Gebruik OpenSearch voor
|
|
3250
|
-
"description": "Indien ingeschakeld worden
|
|
3249
|
+
"title": "Gebruik OpenSearch voor dossierzoekopdrachten",
|
|
3250
|
+
"description": "Indien ingeschakeld worden dossierzoekopdrachten uitgevoerd met OpenSearch voor betere prestaties. Indien uitgeschakeld wordt PostgreSQL gebruikt.",
|
|
3251
3251
|
"unavailable": "OpenSearch is niet geconfigureerd voor deze applicatie."
|
|
3252
3252
|
}
|
|
3253
3253
|
},
|
|
@@ -3344,8 +3344,8 @@
|
|
|
3344
3344
|
"description": "Start met het navigatiemenu ingeklapt in plaats van uitgeklapt."
|
|
3345
3345
|
},
|
|
3346
3346
|
"enableGenericCaseList": {
|
|
3347
|
-
"title": "Generieke
|
|
3348
|
-
"description": "Toon één
|
|
3347
|
+
"title": "Generieke dossierlijst inschakelen",
|
|
3348
|
+
"description": "Toon één dossierlijstweergave met een dropdown om tussen dossierdefinities te wisselen."
|
|
3349
3349
|
}
|
|
3350
3350
|
}
|
|
3351
3351
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valtimo-shared.mjs","sources":["../../../../projects/valtimo/shared/src/lib/components/carousel/carousel.component.ts","../../../../projects/valtimo/shared/src/lib/components/carousel/carousel.component.html","../../../../projects/valtimo/shared/src/lib/utils/router.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/url.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/global-notification.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/route-params.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/display-type.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/validate-bsn.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/index.ts","../../../../projects/valtimo/shared/src/lib/services/base-api.service.ts","../../../../projects/valtimo/shared/src/lib/models/config.ts","../../../../projects/valtimo/shared/src/lib/models/email-notification-settings.model.ts","../../../../projects/valtimo/shared/src/lib/models/menu-item.model.ts","../../../../projects/valtimo/shared/src/lib/models/menu.config.ts","../../../../projects/valtimo/shared/src/lib/models/security.config.ts","../../../../projects/valtimo/shared/src/lib/models/extension.model.ts","../../../../projects/valtimo/shared/src/lib/models/http-loader.ts","../../../../projects/valtimo/shared/src/lib/models/roles.ts","../../../../projects/valtimo/shared/src/lib/models/user-management.model.ts","../../../../projects/valtimo/shared/src/lib/models/page.ts","../../../../projects/valtimo/shared/src/lib/models/search.model.ts","../../../../projects/valtimo/shared/src/lib/models/versions.model.ts","../../../../projects/valtimo/shared/src/lib/models/user-settings.model.ts","../../../../projects/valtimo/shared/src/lib/models/translation.model.ts","../../../../projects/valtimo/shared/src/lib/models/localization.model.ts","../../../../projects/valtimo/shared/src/lib/models/form-view-model.model.ts","../../../../projects/valtimo/shared/src/lib/models/window.model.ts","../../../../projects/valtimo/shared/src/lib/models/management.model.ts","../../../../projects/valtimo/shared/src/lib/models/tag-color.model.ts","../../../../projects/valtimo/shared/src/lib/models/global-configuration.model.ts","../../../../projects/valtimo/shared/src/lib/models/modal.model.ts","../../../../projects/valtimo/shared/src/lib/models/display-type.model.ts","../../../../projects/valtimo/shared/src/lib/models/building-block-management.model.ts","../../../../projects/valtimo/shared/src/lib/models/index.ts","../../../../projects/valtimo/shared/src/lib/services/config.service.ts","../../../../projects/valtimo/shared/src/lib/services/global-notification.service.ts","../../../../projects/valtimo/shared/src/lib/services/localization.service.ts","../../../../projects/valtimo/shared/src/lib/services/menu-include.service.ts","../../../../projects/valtimo/shared/src/lib/services/user-settings.service.ts","../../../../projects/valtimo/shared/src/lib/constants/versions.ts","../../../../projects/valtimo/shared/src/lib/constants/case-management-tab-token.ts","../../../../projects/valtimo/shared/src/lib/constants/form-view-model-token.ts","../../../../projects/valtimo/shared/src/lib/constants/error.constants.ts","../../../../projects/valtimo/shared/src/lib/constants/case-configuration-extensions-token.ts","../../../../projects/valtimo/shared/src/lib/constants/iko.token.ts","../../../../projects/valtimo/shared/src/lib/constants/building-block-management-tab-token.ts","../../../../projects/valtimo/shared/src/lib/constants/index.ts","../../../../projects/valtimo/shared/src/lib/services/environment.service.ts","../../../../projects/valtimo/shared/src/lib/services/draft-version.service.ts","../../../../projects/valtimo/shared/src/lib/services/edit-permissions.service.ts","../../../../projects/valtimo/shared/src/lib/services/configuration-issue.service.ts","../../../../projects/valtimo/shared/src/lib/services/index.ts","../../../../projects/valtimo/shared/src/lib/components/global-notification.component.ts","../../../../projects/valtimo/shared/src/lib/extension/extension.component.ts","../../../../projects/valtimo/shared/src/lib/extension/extension.component.html","../../../../projects/valtimo/shared/src/lib/config.module.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-translate.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-keycloak.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-icon.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/index.ts","../../../../projects/valtimo/shared/src/lib/testing/index.ts","../../../../projects/valtimo/shared/src/lib/translation/custom-multi-translate-http-loader.ts","../../../../projects/valtimo/shared/src/lib/translation/custom-multi-translate-http-loader-factory.ts","../../../../projects/valtimo/shared/src/lib/translation/multi-translate-http-loader-factory.ts","../../../../projects/valtimo/shared/src/lib/translation/index.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/zgw-object-type-component-token.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/zgw-documenten-api-documents-component-token.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/index.ts","../../../../projects/valtimo/shared/src/lib/zgw/index.ts","../../../../projects/valtimo/shared/src/lib/guards/zgw-features.guard.ts","../../../../projects/valtimo/shared/src/lib/guards/index.ts","../../../../projects/valtimo/shared/src/lib/generated/generated-backend-types.ts","../../../../projects/valtimo/shared/src/public-api.ts","../../../../projects/valtimo/shared/src/valtimo-shared.ts"],"sourcesContent":["/*\n * Copyright 2015-2026 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 */\nimport {CommonModule} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n NgZone,\n OnDestroy,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {ChevronLeft16, ChevronRight16} from '@carbon/icons';\nimport {ButtonModule, IconModule, IconService} from 'carbon-components-angular';\nimport {BehaviorSubject} from 'rxjs';\n\n@Component({\n selector: 'valtimo-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule, TranslateModule, ButtonModule, IconModule],\n})\nexport class CarouselComponent implements AfterViewInit, OnDestroy {\n @HostBinding('class') public readonly hostClasses = 'valtimo-carousel';\n\n @Input() public ariaLabel?: string;\n\n @ViewChild('track') private readonly trackRef!: ElementRef<HTMLElement>;\n\n public readonly canScrollPrev$ = new BehaviorSubject<boolean>(false);\n public readonly canScrollNext$ = new BehaviorSubject<boolean>(false);\n public readonly itemCount$ = new BehaviorSubject<number>(0);\n public readonly activeIndex$ = new BehaviorSubject<number>(0);\n public readonly dots$ = new BehaviorSubject<number[]>([]);\n\n private resizeObserver?: ResizeObserver;\n private mutationObserver?: MutationObserver;\n\n constructor(\n private readonly iconService: IconService,\n private readonly ngZone: NgZone\n ) {\n this.iconService.registerAll([ChevronLeft16, ChevronRight16]);\n }\n\n public ngAfterViewInit(): void {\n const track = this.trackRef.nativeElement;\n\n this.resizeObserver = new ResizeObserver(() => this.ngZone.run(() => this.updateScrollState()));\n this.resizeObserver.observe(track);\n\n this.mutationObserver = new MutationObserver(() =>\n this.ngZone.run(() => this.updateScrollState())\n );\n this.mutationObserver.observe(track, {childList: true});\n\n this.updateScrollState();\n }\n\n public ngOnDestroy(): void {\n this.resizeObserver?.disconnect();\n this.mutationObserver?.disconnect();\n }\n\n public onScroll(): void {\n this.updateScrollState();\n }\n\n public scrollPrev(): void {\n this.scrollByViewport(-1);\n }\n\n public scrollNext(): void {\n this.scrollByViewport(1);\n }\n\n public scrollToIndex(index: number): void {\n const track = this.trackRef.nativeElement;\n track.scrollTo({left: index * track.clientWidth, behavior: 'smooth'});\n }\n\n private scrollByViewport(direction: 1 | -1): void {\n const track = this.trackRef.nativeElement;\n track.scrollBy({left: direction * track.clientWidth, behavior: 'smooth'});\n }\n\n private updateScrollState(): void {\n const track = this.trackRef.nativeElement;\n const maxScrollLeft = track.scrollWidth - track.clientWidth;\n this.canScrollPrev$.next(track.scrollLeft > 0);\n this.canScrollNext$.next(track.scrollLeft < maxScrollLeft - 1);\n\n const count = track.children.length;\n if (count !== this.itemCount$.value) {\n this.itemCount$.next(count);\n this.dots$.next(Array.from({length: count}, (_, index) => index));\n }\n\n const activeIndex = track.clientWidth > 0 ? Math.round(track.scrollLeft / track.clientWidth) : 0;\n if (activeIndex !== this.activeIndex$.value) {\n this.activeIndex$.next(activeIndex);\n }\n }\n}\n","<!--\n ~ Copyright 2015-2026 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<ng-container\n *ngIf=\"{\n prev: canScrollPrev$ | async,\n next: canScrollNext$ | async,\n count: itemCount$ | async,\n active: activeIndex$ | async,\n dots: dots$ | async\n } as vm\"\n>\n <div class=\"valtimo-carousel__viewport\">\n <ul\n #track\n class=\"valtimo-carousel__track\"\n [attr.aria-label]=\"ariaLabel\"\n (scroll)=\"onScroll()\"\n >\n <ng-content></ng-content>\n </ul>\n </div>\n\n <div *ngIf=\"vm.count > 1\" class=\"valtimo-carousel__controls\">\n <cds-icon-button\n class=\"valtimo-carousel__nav\"\n kind=\"ghost\"\n size=\"md\"\n align=\"top-left\"\n [description]=\"'carousel.previous' | translate\"\n [disabled]=\"!vm.prev\"\n (click)=\"scrollPrev()\"\n >\n <svg cdsIcon=\"chevron--left\" size=\"16\"></svg>\n </cds-icon-button>\n\n <div class=\"valtimo-carousel__dots\" role=\"tablist\">\n <button\n *ngFor=\"let index of vm.dots\"\n type=\"button\"\n class=\"valtimo-carousel__dot\"\n [class.valtimo-carousel__dot--active]=\"index === vm.active\"\n [attr.aria-label]=\"('carousel.goToSlide' | translate) + ' ' + (index + 1)\"\n [attr.aria-current]=\"index === vm.active\"\n (click)=\"scrollToIndex(index)\"\n ></button>\n </div>\n\n <cds-icon-button\n class=\"valtimo-carousel__nav\"\n kind=\"ghost\"\n size=\"md\"\n align=\"top-right\"\n [description]=\"'carousel.next' | translate\"\n [disabled]=\"!vm.next\"\n (click)=\"scrollNext()\"\n >\n <svg cdsIcon=\"chevron--right\" size=\"16\"></svg>\n </cds-icon-button>\n </div>\n</ng-container>\n","/*\n * Copyright 2015-2025 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\nimport {ExtraOptions} from '@angular/router';\n\nclass RouterUtils {\n public static getRouterExtraOptions(): ExtraOptions {\n return {canceledNavigationResolution: 'computed'};\n }\n}\n\nexport {RouterUtils};\n","/*\n * Copyright 2015-2025 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\nclass UrlUtils {\n static formatUrlTrailingSlash(url: string, returnWithTrailingSlash: boolean): string {\n if (url && typeof url === 'string') {\n const urlLastCharacter = url[url.length - 1];\n const urlLastCharacterIsSlash = urlLastCharacter === '/';\n\n if (!returnWithTrailingSlash && urlLastCharacterIsSlash) {\n return url.slice(0, -1);\n } else if (returnWithTrailingSlash && !urlLastCharacterIsSlash) {\n return `${url}/`;\n }\n }\n\n return url;\n }\n\n static formatUrlStartWithSlash(url: string): string {\n if (url && typeof url === 'string' && url.length > 0 && url[0] !== '/') {\n return `/${url}`;\n }\n\n return `${url}`;\n }\n\n static getUrlHost(urlString: string): string {\n let url!: URL;\n\n try {\n url = new URL(urlString);\n } catch (_) {}\n\n return url ? url.host : '';\n }\n}\n\nexport {UrlUtils};\n","/*\n * Copyright 2015-2025 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\nimport {NotificationContent} from 'carbon-components-angular';\n\nexport const DEFAULT_NOTIFICATION_PARAMS = {\n duration: 4000,\n showClose: true,\n};\n\nexport const getNotificationObject = (content: NotificationContent): NotificationContent => ({\n ...DEFAULT_NOTIFICATION_PARAMS,\n ...content,\n});\n","/*\n * Copyright 2015-2025 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 */\nimport {BuildingBlockManagementParams, CaseManagementParams, ManagementContext} from '../models';\nimport {ActivatedRoute} from '@angular/router';\nimport {combineLatest, distinctUntilChanged, filter, map, Observable, of, switchMap} from 'rxjs';\nimport {isEqual} from 'lodash';\n\nconst getCaseManagementRouteParams = (\n route: ActivatedRoute,\n doFilter = false\n): Observable<CaseManagementParams | undefined> => {\n const rootParams$ = route.params ? route.params : of({});\n const parentParams$ = route.parent?.params ? route.parent.params : of({});\n return combineLatest([rootParams$, parentParams$]).pipe(\n map(([rootParams, parentParams]) => {\n const caseDefinitionKey =\n rootParams['caseDefinitionKey'] || parentParams['caseDefinitionKey'];\n const caseDefinitionVersionTag =\n rootParams['caseDefinitionVersionTag'] || parentParams['caseDefinitionVersionTag'];\n if (caseDefinitionKey && caseDefinitionVersionTag) {\n return {caseDefinitionKey, caseDefinitionVersionTag};\n }\n return null;\n }),\n filter((params): params is CaseManagementParams => (doFilter ? params !== null : true)),\n distinctUntilChanged((previous, current) => isEqual(previous, current))\n );\n};\n\nconst getBuildingBlockManagementRouteParams = (\n route: ActivatedRoute,\n doFilter = false\n): Observable<BuildingBlockManagementParams | undefined> => {\n const rootParams$ = route.params ? route.params : of({});\n const parentParams$ = route.parent?.params ? route.parent.params : of({});\n return combineLatest([rootParams$, parentParams$]).pipe(\n map(([rootParams, parentParams]) => {\n const buildingBlockDefinitionKey =\n rootParams['buildingBlockDefinitionKey'] || parentParams['buildingBlockDefinitionKey'];\n const buildingBlockDefinitionVersionTag =\n rootParams['buildingBlockDefinitionVersionTag'] ||\n parentParams['buildingBlockDefinitionVersionTag'];\n if (buildingBlockDefinitionKey && buildingBlockDefinitionVersionTag) {\n return {buildingBlockDefinitionKey, buildingBlockDefinitionVersionTag};\n }\n return null;\n }),\n filter((params): params is BuildingBlockManagementParams =>\n doFilter ? params !== null : true\n ),\n distinctUntilChanged((previous, current) => isEqual(previous, current))\n );\n};\n\nfunction getContextObservable(route: ActivatedRoute): Observable<ManagementContext | null> {\n // Traverse the route hierarchy to find the context data\n // The context is set on a parent route, so we need to look up the tree\n let currentRoute: ActivatedRoute | null = route;\n while (currentRoute) {\n const context = currentRoute.snapshot?.data?.['context'] as ManagementContext | undefined;\n if (context) {\n return currentRoute.data.pipe(\n map(data => (data && (data['context'] as ManagementContext)) || null),\n distinctUntilChanged()\n );\n }\n currentRoute = currentRoute.parent;\n }\n\n // Fallback to original behavior if no context found in hierarchy\n return route.data.pipe(\n map(data => (data && (data['context'] as ManagementContext)) || null),\n distinctUntilChanged()\n );\n}\n\nfunction getCaseManagementRouteParamsAndContext(\n route: ActivatedRoute\n): Observable<[ManagementContext, CaseManagementParams]> {\n const params$ = getCaseManagementRouteParams(route, true);\n const context$ = getContextObservable(route);\n\n return context$.pipe(\n switchMap(context => {\n if (context === 'case') {\n return combineLatest([of(context), params$]) as Observable<\n [ManagementContext, CaseManagementParams]\n >;\n }\n\n const fallbackParams: CaseManagementParams = {\n caseDefinitionKey: '',\n caseDefinitionVersionTag: '',\n };\n return of([context, fallbackParams] as [ManagementContext, CaseManagementParams]);\n })\n );\n}\n\nexport {\n getCaseManagementRouteParams,\n getContextObservable,\n getCaseManagementRouteParamsAndContext,\n getBuildingBlockManagementRouteParams,\n};\n","/*\n * Copyright 2015-2025 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\nimport {DisplayTypeParameters} from '../models';\n\nconst getDisplayTypeParametersView = (displayTypeParameters: DisplayTypeParameters): string => {\n if (displayTypeParameters?.dateFormat) {\n return displayTypeParameters.dateFormat;\n } else if (displayTypeParameters?.tagAmount) {\n return displayTypeParameters.tagAmount.toString();\n } else if (displayTypeParameters?.enum) {\n return Object.keys(displayTypeParameters.enum).reduce((acc, curr) => {\n const keyValuePairString = `${curr}: ${displayTypeParameters.enum?.[curr]}`;\n if (!acc) {\n return `${keyValuePairString}`;\n }\n\n return `${acc}, ${keyValuePairString}`;\n }, '');\n }\n\n return '-';\n};\n\nexport {getDisplayTypeParametersView};\n","/*\n * Copyright 2015-2025 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\nconst validateBsn = (value: string): {isValid: boolean; errorKey: string | null} => {\n const baseKey = 'interface.dataValidation.bsnValidator';\n\n if (!value) {\n return {isValid: false, errorKey: `${baseKey}.valueEmpty`};\n }\n\n const trimmed = value.toString().trim();\n\n if (!/^\\d+$/.test(trimmed)) {\n return {isValid: false, errorKey: `${baseKey}.valueOnlyDigits`};\n }\n\n if (trimmed.length < 8 || trimmed.length > 9) {\n return {isValid: false, errorKey: `${baseKey}.valueMinLength`};\n }\n\n if (trimmed.length > 9) {\n return {isValid: false, errorKey: `${baseKey}.valueMaxLength`};\n }\n\n if (/^0+$/.test(trimmed) || /^9+$/.test(trimmed)) {\n return {isValid: false, errorKey: `${baseKey}.valueAllZerosOrNines`};\n }\n\n const digits = trimmed.split('').map(d => parseInt(d, 10));\n let sum = 0;\n const length = digits.length;\n\n for (let i = 0; i < length; i++) {\n const weight = i === length - 1 ? -1 : length - i;\n sum += digits[i] * weight;\n }\n\n if (sum % 11 !== 0) {\n return {isValid: false, errorKey: `${baseKey}.valueElfCheck`};\n }\n\n return {isValid: true, errorKey: null};\n};\n\nexport {validateBsn};\n","/*\n * Copyright 2015-2025 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\nexport * from './router.utils';\nexport * from './url.utils';\nexport * from './global-notification.utils';\nexport * from './route-params.utils';\nexport * from './display-type.utils';\nexport * from './validate-bsn.utils';\n","/*\n * Copyright 2015-2025 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\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {UrlUtils} from '../utils';\n\nexport abstract class BaseApiService {\n private readonly _valtimoEndpointUri!: string;\n\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n this._valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getApiUrl(urlPart: string): string {\n const urlWithStartSlash = UrlUtils.formatUrlStartWithSlash(urlPart);\n const urlFormattedWithTrailingSlash = `${UrlUtils.formatUrlTrailingSlash(this._valtimoEndpointUri, false)}${urlWithStartSlash}`;\n return urlFormattedWithTrailingSlash;\n }\n}\n","/*\n *\n * * Copyright 2015-2026 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\nimport {InjectionToken, Injector} from '@angular/core';\nimport {Auth} from './security.config';\nimport {MenuConfig} from './menu.config';\nimport {CSPHeaderParams} from 'csp-header';\n\nconst VALTIMO_CONFIG = new InjectionToken<ValtimoConfig>('valtimoConfig');\n\n// eslint-disable-next-line\nconst INITIALIZERS = new InjectionToken<(() => Function)[]>('initializers');\n\ndeclare type Direction = 'ASC' | 'DESC';\n\ninterface DefinitionColumn {\n propertyName: string;\n translationKey: string;\n sortable?: boolean;\n viewType?: string;\n default?: boolean | string;\n enum?: Array<string> | {[key: string]: string};\n title?: string;\n format?: string;\n key?: string;\n tagAmount?: number;\n}\n\ninterface CustomTaskList {\n fields: Array<DefinitionColumn>;\n defaultSortedColumn?: SortState;\n}\n\ninterface CustomLeftSidebar {\n defaultMenuWidth?: number;\n maxMenuWidth?: number;\n minMenuWidth?: number;\n}\n\ninterface Sort {\n name: string;\n direction: Direction;\n}\n\ninterface SortState {\n state: Sort;\n isSorting: boolean;\n}\n\ninterface FormioOptions {\n [key: string]: any;\n}\n\ninterface OverrideFormioOptions extends FormioOptions {\n [key: string]: any;\n}\n\ninterface ValtimoConfigFeatureToggles {\n applicationTitleAsSuffix?: boolean;\n showUserNameInTopBar?: boolean;\n showPlantATreeButton?: boolean;\n disableCaseCount?: boolean;\n caseListColumn?: boolean;\n enableObjectManagement?: boolean;\n largeLogoMargin?: boolean;\n sortFilesByDate?: boolean;\n returnToLastUrlAfterTokenExpiration?: boolean;\n enableTabManagement?: boolean;\n hideValtimoVersionsForNonAdmins?: boolean;\n useStartEventNameAsStartFormTitle?: boolean;\n allowUserThemeSwitching?: boolean;\n enableCompactModeToggle?: boolean;\n compactModeOnByDefault?: boolean;\n enableUserNameInTopBarToggle?: boolean;\n enableFormViewModel?: boolean;\n enableIntermediateSave?: boolean;\n enableTaskPanel?: boolean;\n enableFormFlowBreadcrumbs?: boolean;\n enablePbacDocumentenApiDocuments?: boolean;\n enableSuppressDocumentError?: boolean;\n enableIkoType?: boolean;\n enableGenericCaseList?: boolean;\n menuCollapsedByDefault?: boolean;\n enableOpenSearch?: boolean;\n /**\n * @deprecated DMN decision table editing is always enabled and is no longer gated by a\n * feature toggle. This option is ignored and will be removed in a future major release.\n */\n experimentalDmnEditing?: boolean;\n enableZgwFeatures?: boolean;\n}\n\ninterface ValtimoConfig {\n // eslint-disable-next-line\n logoSvgBase64?: string;\n darkModeLogoSvgBase64?: string;\n logoPngBase64?: string;\n darkModeLogoPngBase64?: string;\n applicationTitle?: string;\n /**@deprecated Initializers will be removed in the future. */\n initializers?: ((injector: Injector) => () => void)[];\n menu: MenuConfig;\n authentication: Auth;\n production: boolean;\n whitelistedDomains: string[];\n langKey?: Language;\n valtimoApi: {\n endpointUri: string;\n };\n changePasswordUrl?: {\n endpointUri: string;\n };\n swagger: {\n endpointUri: string;\n };\n mockApi: {\n endpointUri: string;\n };\n logger: any;\n definitions: any;\n openZaak: {\n catalogus: string;\n };\n uploadProvider: UploadProvider;\n caseFileSizeUploadLimitMB?: number;\n caseFileUploadAcceptedFiles?: string;\n supportedDocumentFileTypesToViewInBrowser?: string[];\n defaultDefinitionTable: Array<DefinitionColumn>;\n translationResources?: Array<string>;\n featureToggles?: ValtimoConfigFeatureToggles;\n visibleTaskListTabs?: Array<TaskListTab>;\n visibleCaseListTabs?: Array<CaseListTab>;\n customTaskList?: CustomTaskList;\n customLeftSidebar?: CustomLeftSidebar;\n caseObjectTypes?: {\n [definitionNameId: string]: Array<string>;\n };\n overrideFeedbackMenuItemToMailTo?: FeedbackMailTo;\n csp?: CSPHeaderParams;\n formioOptions?: OverrideFormioOptions;\n}\n\ninterface FeedbackMailTo {\n email?: string;\n subjectTranslationKey: string;\n bodyTranslationKey: string;\n}\n\nenum UploadProvider {\n S3,\n /**@deprecated This upload provider will be removed in the future. */\n OPEN_ZAAK,\n DOCUMENTEN_API,\n}\n\nenum TaskListTab {\n MINE = 'mine',\n OPEN = 'open',\n ALL = 'all',\n TEAM = 'team',\n}\n\nenum CaseListTab {\n MINE = 'MINE',\n OPEN = 'OPEN',\n ALL = 'ALL',\n TEAM = 'TEAM',\n}\n\nenum Language {\n NL = 'nl',\n EN = 'en',\n}\n\nexport {\n VALTIMO_CONFIG,\n INITIALIZERS,\n Direction,\n DefinitionColumn,\n CustomTaskList,\n CustomLeftSidebar,\n Sort,\n SortState,\n OverrideFormioOptions,\n ValtimoConfigFeatureToggles,\n ValtimoConfig,\n FeedbackMailTo,\n UploadProvider,\n TaskListTab,\n CaseListTab,\n Language,\n};\n","/*\n * Copyright 2015-2025 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\nexport interface EmailNotificationSettings {\n emailNotifications: boolean;\n taskNotifications: boolean;\n emailNotificationOnMonday: boolean;\n emailNotificationOnTuesday: boolean;\n emailNotificationOnWednesday: boolean;\n emailNotificationOnThursday: boolean;\n emailNotificationOnFriday: boolean;\n emailNotificationOnSaturday: boolean;\n emailNotificationOnSunday: boolean;\n}\n","/*\n *\n * Copyright 2015-2026 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\nimport {Observable} from 'rxjs';\n\nenum IncludeFunction {\n ObjectManagementEnabled,\n OpenSearchEnabled,\n ZgwFeaturesEnabled,\n}\n\ninterface MenuItem {\n title: string;\n sequence?: number;\n id?: string;\n link?: string[] | null;\n textClass?: string;\n iconClass?: string;\n children?: MenuItem[];\n roles?: string[];\n show?: boolean;\n count$?: Observable<number>;\n includeFunction?: IncludeFunction | IncludeFunction[];\n}\n\nexport {MenuItem, IncludeFunction};\n","/*\n * Copyright 2015-2025 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\nimport {MenuItem} from './menu-item.model';\n\nexport interface MenuConfig {\n menuItems: MenuItem[];\n}\n","/*\n * Copyright 2015-2025 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\nimport {Observable, ReplaySubject} from 'rxjs';\nimport {EmailNotificationSettings} from './email-notification-settings.model';\nimport {Injector} from '@angular/core';\n\nexport interface UserIdentity {\n email: string;\n firstName: string;\n lastName: string;\n roles: Array<string>;\n username?: string;\n id?: string;\n}\n\nexport class ValtimoUserIdentity implements UserIdentity {\n private readonly _email: string;\n private readonly _firstName: string;\n private readonly _lastName: string;\n private readonly _roles: string[];\n private readonly _username?: string;\n private readonly _id?: string;\n\n constructor(\n email: string,\n firstName: string,\n lastName: string,\n roles: Array<string>,\n username?: string,\n id?: string\n ) {\n this._email = email;\n this._firstName = firstName;\n this._lastName = lastName;\n this._roles = roles;\n this._username = username;\n this._id = id;\n }\n\n get email(): string {\n return this._email;\n }\n\n get firstName(): string {\n return this._firstName;\n }\n\n get lastName(): string {\n return this._lastName;\n }\n\n get roles(): string[] {\n return this._roles;\n }\n\n get username(): string | undefined {\n return this._username;\n }\n\n get id(): string | undefined {\n return this._id;\n }\n}\n\nexport interface UserService {\n getUserSubject(): ReplaySubject<UserIdentity>;\n\n logout(): void;\n\n getToken(): Promise<string>;\n\n updateToken?(minValidity: number): Promise<boolean>;\n}\n\nexport interface EmailNotificationService {\n getEmailNotificationSettings(): Observable<EmailNotificationSettings>;\n\n updateEmailNotificationSettings(\n settings: EmailNotificationSettings\n ): Observable<EmailNotificationSettings>;\n}\n\nexport interface AuthProviders {\n guardServiceProvider: any;\n userServiceProvider: any;\n}\n\nexport interface Auth {\n module: any;\n // eslint-disable-next-line\n initializer: (injector: Injector) => Function;\n authProviders: AuthProviders;\n options: any;\n}\n","/*\n * Copyright 2015-2025 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\nimport {ComponentFactoryResolver, ComponentRef, ViewContainerRef} from '@angular/core';\n\nexport interface ExtensionPoint {\n module: string;\n page: string;\n section: string;\n component: any;\n}\n\nexport class ExtensionLoader {\n private readonly componentFactoryResolver: ComponentFactoryResolver = null;\n private componentRef: ComponentRef<any> = null;\n\n constructor(componentFactoryResolver: ComponentFactoryResolver) {\n this.componentFactoryResolver = componentFactoryResolver;\n }\n\n loadExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n extensionPoint.component\n );\n this.componentRef = viewContainerRef.createComponent(componentFactory);\n }\n\n loadAndClearExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n extensionPoint.component\n );\n viewContainerRef.clear();\n return (this.componentRef = viewContainerRef.createComponent(componentFactory));\n }\n}\n\nexport class Extension {\n public readonly _name: string;\n public readonly _extensionPoint: BasicExtensionPoint;\n\n constructor(name: string, extensionPoint: BasicExtensionPoint) {\n this._name = name;\n this._extensionPoint = extensionPoint;\n }\n\n get extensionPoint(): BasicExtensionPoint {\n return this._extensionPoint;\n }\n}\n\nexport class BasicExtensionPoint implements ExtensionPoint {\n private readonly _module: string;\n private readonly _page: string;\n private readonly _section: string;\n private readonly _component: any;\n\n constructor(module: string, page: string, section: string, component: any) {\n this._module = module;\n this._page = page;\n this._section = section;\n this._component = component;\n }\n\n supports(module: string, page: string, section: string): boolean {\n return this._module === module && this._page === page && this._section === section;\n }\n\n get module(): string {\n return this._module;\n }\n\n get page(): string {\n return this._page;\n }\n\n get section(): string {\n return this._section;\n }\n\n get component(): any {\n return this._component;\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\nimport {HttpClient} from '@angular/common/http';\n\nexport function HttpLoaderFactory(httpClient: HttpClient) {\n return new TranslateHttpLoader(httpClient);\n}\n","/*\n * Copyright 2015-2025 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\nexport const ROLE_ADMIN = 'ROLE_ADMIN';\nexport const ROLE_USER = 'ROLE_USER';\nexport const ROLE_DEVELOPER = 'ROLE_DEVELOPER';\n","/*\n * Copyright 2015-2025 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\nexport interface User {\n id: string;\n fullName: string;\n firstName: string;\n lastName: string;\n email: string;\n roles: Array<string>;\n langKey: string;\n activated: boolean;\n emailVerified: boolean;\n verified: string;\n status: string;\n}\n\nexport interface NamedUser {\n id: string;\n email: string;\n firstName: string;\n lastName: string;\n label: string;\n userName: string;\n}\n","/*\n * Copyright 2015-2025 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\ninterface SortResult {\n sorted: boolean;\n unsorted: boolean;\n}\n\ninterface Pageable {\n sort: SortResult;\n pageSize: number;\n pageNumber: number;\n offset: number;\n unpaged: boolean;\n paged: boolean;\n}\n\ninterface Page<T> {\n content: Array<T>;\n pageable: Pageable;\n last: boolean;\n totalPages: number;\n totalElements: number;\n first: boolean;\n sort: SortResult;\n numberOfElements: number;\n size: number;\n number: number;\n [key: string]: any;\n}\n\nexport {SortResult, Pageable, Page};\n","/*\n * Copyright 2015-2025 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\nimport {SearchFieldMatchType} from '../generated';\n\ntype SearchFieldDataType = 'text' | 'number' | 'date' | 'datetime' | 'boolean' | 'bsn';\n\ntype SearchFieldFieldType =\n | 'single'\n | 'multiple'\n | 'range'\n | 'single-select-dropdown'\n | 'multi-select-dropdown';\n\n\ntype SearchFieldBoolean = 'booleanPositive' | 'booleanNegative';\n\ntype BooleanValueSingle = boolean;\n\ntype TextValueSingle = string;\ntype ValueMultiple = Array<\n BooleanValueSingle | TextValueSingle | NumberValueSingle | NumberValueRange\n>;\n\ntype NumberValueSingle = number;\n\ninterface NumberValueRange {\n start: NumberValueSingle;\n end: NumberValueSingle;\n}\n\ntype SearchFieldValue =\n | BooleanValueSingle\n | TextValueSingle\n | ValueMultiple\n | NumberValueSingle\n | NumberValueRange;\n\ninterface SearchField {\n ownerId?: string;\n title?: string;\n key: string;\n path?: string;\n order?: number;\n dataType: SearchFieldDataType;\n fieldType: SearchFieldFieldType;\n matchType?: SearchFieldMatchType;\n dropdownDataProvider?: string;\n uuid?: string;\n}\n\ninterface SearchFieldWithValue extends SearchField {\n value: SearchFieldValue;\n}\n\ninterface SearchFieldValues {\n [searchFieldKey: string]: SearchFieldValue;\n}\n\ninterface SearchFieldColumnView {\n title: string;\n key: string;\n path: string;\n dataType: string;\n fieldType: string;\n}\n\ntype SearchOperator = 'AND' | 'OR';\n\ntype AssigneeFilter = 'OPEN' | 'MINE' | 'ALL' | 'TEAM';\n\ninterface SearchFilter {\n key: string;\n values: Array<string>;\n multiValue?: boolean;\n}\n\ninterface SearchFilterRange {\n key: string;\n rangeFrom: string;\n rangeTo: string;\n}\n\nexport {\n SearchFieldDataType,\n SearchFieldFieldType,\n SearchFieldMatchType,\n SearchFieldBoolean,\n SearchField,\n SearchFieldValue,\n SearchFieldWithValue,\n SearchFieldValues,\n SearchFieldColumnView,\n SearchOperator,\n SearchFilter,\n SearchFilterRange,\n AssigneeFilter,\n};\n","/*\n * Copyright 2015-2025 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\ninterface Versions {\n frontendLibraries: string;\n}\n\nexport {Versions};\n","/*\n * Copyright 2015-2025 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\ninterface UserSettings {\n collapsibleWidescreenMenu?: boolean;\n languageCode?: string;\n compactMode?: boolean;\n showUserNameInTopBar?: boolean;\n preferredTheme?: string;\n caseListPageSizes?: {[key: string]: number};\n taskListPageSizes?: {[key: string]: number};\n}\n\nexport {UserSettings};\n","/*\n * Copyright 2015-2025 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\ninterface ITranslationResource {\n prefix: string;\n suffix?: string;\n optional?: boolean;\n}\n\nexport {ITranslationResource};\n","/*\n * Copyright 2015-2025 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\ntype LocalizationContent = object;\n\ninterface Localization {\n languageKey: string;\n content: LocalizationContent;\n}\n\ninterface MergedLocalizations {\n [languageKey: string]: LocalizationContent;\n}\n\nexport {Localization, LocalizationContent, MergedLocalizations};\n","/*\n * Copyright 2015-2025 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\nimport {Type} from '@angular/core';\n\ninterface FormViewModel {\n component: Type<any>;\n}\n\nexport {FormViewModel};\n","/*\n * Copyright 2015-2025 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\nimport {editor} from 'monaco-editor';\n\ntype MonacoEditor = typeof editor;\n\ninterface ValtimoWindow extends Window {\n monaco?: {\n editor?: MonacoEditor;\n };\n flags?: {\n formioValueResolverSelectorComponentRegistered: boolean;\n };\n}\n\nexport {ValtimoWindow};\n","/*\n * Copyright 2015-2025 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\ntype ManagementContext = 'case' | 'independent' | 'buildingBlock';\n\nexport {ManagementContext};\n","/*\n * Copyright 2015-2025 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\nexport enum TagColor {\n WarmGray = 'WARMGRAY',\n Red = 'RED',\n Magenta = 'MAGENTA',\n Purple = 'PURPLE',\n Blue = 'BLUE',\n Cyan = 'CYAN',\n Teal = 'TEAL',\n Green = 'GREEN',\n Gray = 'GRAY',\n CoolGray = 'COOLGRAY',\n HighContrast = 'HIGHCONTRAST',\n Outline = 'OUTLINE',\n}\n","/*\n * Copyright 2015-2025 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\ninterface GlobalConfiguration {\n canUpdateGlobalConfiguration: boolean;\n}\n\nexport {GlobalConfiguration};\n","/*\n * Copyright 2015-2025 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\ntype ModalMode = 'add' | 'edit' | 'delete' | 'duplicate';\n\ntype ModalCloseEvent = 'close' | 'closeAndRefresh';\n\nexport {ModalMode, ModalCloseEvent};\n","/*\n * Copyright 2015-2025 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\ninterface DisplayType {\n type: string;\n displayTypeParameters: DisplayTypeParameters;\n}\n\ninterface DisplayTypeParameters {\n enum?: {\n [key: string]: string;\n };\n dateFormat?: string;\n tagAmount?: number;\n}\n\nexport {DisplayTypeParameters, DisplayType};\n","/*\n * Copyright 2015-2025 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\nimport {Type} from '@angular/core';\nimport {Observable} from 'rxjs';\n\ninterface BuildingBlockManagementParams {\n buildingBlockDefinitionKey: string;\n buildingBlockDefinitionVersionTag: string;\n}\n\ninterface BuildingBlockManagementTabConfig {\n translationKey: string;\n component: Type<any>;\n tabRoute: string;\n enabled$?: Observable<boolean>;\n}\n\nexport {BuildingBlockManagementParams, BuildingBlockManagementTabConfig};\n","/*\n * Copyright 2015-2025 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\nexport * from './config';\nexport * from './email-notification-settings.model';\nexport * from './menu-item.model';\nexport * from './menu.config';\nexport * from './security.config';\nexport * from './extension.model';\nexport * from './http-loader';\nexport * from './roles';\nexport * from './user-management.model';\nexport * from './page';\nexport * from './search.model';\nexport * from './versions.model';\nexport * from './user-settings.model';\nexport * from './translation.model';\nexport * from './localization.model';\nexport * from './form-view-model.model';\nexport * from './window.model';\nexport * from './management.model';\nexport * from './tag-color.model';\nexport * from './global-configuration.model';\nexport * from './case-management.model';\nexport * from './modal.model';\nexport * from './display-type.model';\nexport * from './building-block-management.model';\n","/*\n * Copyright 2015-2025 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\nimport {ComponentFactoryResolver, Inject, Injectable, ViewContainerRef} from '@angular/core';\nimport {\n Extension,\n ExtensionLoader,\n ExtensionPoint,\n VALTIMO_CONFIG,\n ValtimoConfig,\n ValtimoConfigFeatureToggles,\n} from '../models';\nimport {UrlUtils} from '../utils';\nimport {BehaviorSubject, distinctUntilChanged, map, Observable} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n private readonly extensionLoader: ExtensionLoader;\n private readonly extensions: Array<Extension> = [];\n private readonly DEFAULT_APPLICATION_TITLE = 'Valtimo';\n\n private readonly _featureToggles$ = new BehaviorSubject<ValtimoConfigFeatureToggles>(\n this.valtimoConfig?.featureToggles ?? ({} as ValtimoConfigFeatureToggles)\n );\n\n public readonly featureToggles$: Observable<ValtimoConfigFeatureToggles> =\n this._featureToggles$.asObservable();\n\n constructor(\n @Inject(VALTIMO_CONFIG) private valtimoConfig: ValtimoConfig,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {\n this.extensionLoader = new ExtensionLoader(componentFactoryResolver);\n }\n\n public get config(): ValtimoConfig {\n const config = this.valtimoConfig;\n const translationResourcesConfig = config.translationResources;\n\n return {\n ...config,\n initializers: config.initializers || [],\n whitelistedDomains: config.whitelistedDomains.map(domain =>\n UrlUtils.formatUrlTrailingSlash(domain, false)\n ),\n mockApi: {\n ...config.mockApi,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.mockApi.endpointUri, true),\n },\n swagger: {\n ...config.swagger,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.swagger.endpointUri, false),\n },\n valtimoApi: {\n ...config.valtimoApi,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.valtimoApi.endpointUri, true),\n },\n ...(translationResourcesConfig && {\n translationResources: translationResourcesConfig.map(resource =>\n UrlUtils.formatUrlTrailingSlash(resource, true)\n ),\n }),\n applicationTitle: config.applicationTitle || this.DEFAULT_APPLICATION_TITLE,\n };\n }\n\n public get featureToggles(): ValtimoConfigFeatureToggles {\n return this._featureToggles$.value;\n }\n\n public get config$(): Observable<ValtimoConfig> {\n return this._featureToggles$.pipe(\n map(featureToggles => ({...this.config, featureToggles}))\n );\n }\n\n public get initializers() {\n return this.valtimoConfig?.initializers || [];\n }\n\n public addExtension(extension: Extension) {\n return this.extensions.push(extension);\n }\n\n public getSupportedExtensionPoint(module: string, page: string, section: string) {\n return this.extensions.find(extension =>\n extension.extensionPoint.supports(module, page, section)\n );\n }\n\n public getSupportedExtensionPoints(module: string, page: string, section: string) {\n return this.extensions.filter(extension =>\n extension.extensionPoint.supports(module, page, section)\n );\n }\n\n public loadExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n this.extensionLoader.loadExtensionPoint(viewContainerRef, extensionPoint);\n }\n\n public loadAndReturnExtensionPoint(\n viewContainerRef: ViewContainerRef,\n extensionPoint: ExtensionPoint\n ) {\n return this.extensionLoader.loadAndClearExtensionPoint(viewContainerRef, extensionPoint);\n }\n\n public getFeatureToggleObservable(\n featureToggle: keyof ValtimoConfigFeatureToggles,\n defaultValue = false\n ): Observable<boolean> {\n return this.featureToggles$.pipe(\n map(featureToggles =>\n featureToggles?.hasOwnProperty(featureToggle)\n ? !!featureToggles[featureToggle]\n : defaultValue\n ),\n distinctUntilChanged()\n );\n }\n\n public getFeatureToggle(featureToggle: keyof ValtimoConfigFeatureToggles): boolean {\n return !!(this.featureToggles && this.featureToggles[featureToggle]);\n }\n\n public patchFeatureToggles(overrides: Partial<ValtimoConfigFeatureToggles>): void {\n const merged = {\n ...this._featureToggles$.value,\n ...overrides,\n };\n this.valtimoConfig = {\n ...this.valtimoConfig,\n featureToggles: merged,\n };\n this._featureToggles$.next(merged as ValtimoConfigFeatureToggles);\n }\n}\n","/*\n * Copyright 2015-2025 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 */\nimport {ComponentRef, EventEmitter, Injectable} from '@angular/core';\nimport {\n ActionableContent,\n ActionableNotification,\n Notification,\n NotificationContent,\n NotificationService,\n Toast,\n ToastContent,\n} from 'carbon-components-angular';\nimport {take} from 'rxjs';\nimport {getNotificationObject} from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GlobalNotificationService {\n private _notificationService: NotificationService | null = null;\n private readonly _notificationQueue: (Notification & {id: string})[] = [];\n\n public setNotificationService(service: NotificationService): void {\n this._notificationService = service;\n }\n\n public getNotificationService(): NotificationService | null {\n return this._notificationService;\n }\n\n public showNotification(\n notificationObj: NotificationContent | ToastContent | ActionableContent,\n notificationComp: typeof Notification = Notification\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showNotification(\n getNotificationObject(notificationObj),\n notificationComp\n )\n );\n }\n\n public showToast(\n notificationObj: NotificationContent | ToastContent,\n notificationComp: typeof Toast = Toast\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showToast(getNotificationObject(notificationObj), notificationComp)\n );\n }\n\n public showActionable(\n notificationObj: ActionableContent,\n notificationComp: typeof ActionableNotification = ActionableNotification\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showActionable(\n getNotificationObject(notificationObj),\n notificationComp\n )\n );\n }\n\n public close(notificationRef: any): void {\n notificationRef.close.emit();\n }\n\n public getSmartTimeout(notificationObj: any): number | null {\n if (!this._notificationService) return null;\n return this._notificationService?.getSmartTimeout(notificationObj);\n }\n\n public getNotificationRefs(): ComponentRef<any>[] | null {\n if (!this._notificationService) return null;\n return this._notificationService?.notificationRefs;\n }\n\n public getOnCloseEmitter(): EventEmitter<any> | null {\n if (!this._notificationService) return null;\n return this._notificationService?.onClose;\n }\n\n public ngOnDestroy(): void {\n this._notificationService?.ngOnDestroy();\n this._notificationQueue.splice(0, this._notificationQueue.length);\n }\n\n private handleNotificationRef(notificationRef: any): Notification | null {\n const notification = {\n ...notificationRef,\n id:\n notificationRef.toastID ??\n notificationRef.notificationID ??\n notificationRef.actionableNotificationID,\n };\n\n if (this._notificationQueue.length > 3) {\n this._notificationQueue.splice(0, 1);\n this.close(notificationRef);\n }\n\n this._notificationQueue.push(notification);\n setTimeout(() => this.removeNotificationInQueue(notification.id), 4000);\n\n notificationRef.close\n .pipe(take(1))\n .subscribe(() => this.removeNotificationInQueue(notification.id));\n\n return notificationRef;\n }\n\n private removeNotificationInQueue(id: string): void {\n const index = this._notificationQueue.findIndex(\n (notification: Notification & {id: string}) => notification.id === id\n );\n if (index === -1) return;\n\n this._notificationQueue.splice(index, 1);\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {Injectable} from '@angular/core';\nimport {Localization, LocalizationContent, MergedLocalizations} from '../models';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {map, Observable, of} from 'rxjs';\nimport {catchError} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalizationService {\n private readonly valtimoApiUri!: string;\n\n constructor(\n private readonly http: HttpClient,\n private readonly configService: ConfigService\n ) {\n this.valtimoApiUri = configService?.config?.valtimoApi?.endpointUri;\n }\n\n public getLocalization(languageKey: string): Observable<LocalizationContent> {\n return this.http\n .get<LocalizationContent>(`${this.valtimoApiUri}v1/localization/${languageKey}`, {\n headers: new HttpHeaders().set('X-Skip-Interceptor', '403'),\n })\n .pipe(catchError(() => of({})));\n }\n\n public getLocalizations(): Observable<Localization[]> {\n return this.http.get<Localization[]>(`${this.valtimoApiUri}v1/localization`);\n }\n\n public getMergedLocalizations(): Observable<MergedLocalizations> {\n return this.getLocalizations().pipe(\n map(res => res.reduce((acc, curr) => ({...acc, [curr.languageKey]: curr.content}), {}))\n );\n }\n\n public updateLocalization(\n languageKey: string,\n updatedLocalizationContent: LocalizationContent\n ): Observable<LocalizationContent> {\n return this.http.put<LocalizationContent>(\n `${this.valtimoApiUri}management/v1/localization/${languageKey}`,\n updatedLocalizationContent\n );\n }\n\n public updateLocalizations(updatedLocalizations: Localization[]): Observable<Localization[]> {\n return this.http.put<Localization[]>(\n `${this.valtimoApiUri}management/v1/localization`,\n updatedLocalizations\n );\n }\n}\n","/*\n * Copyright 2015-2026 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\nimport {Injectable} from '@angular/core';\nimport {IncludeFunction} from '../models';\nimport {ConfigService} from './config.service';\nimport {combineLatest, map, Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MenuIncludeService {\n constructor(private readonly configService: ConfigService) {}\n\n getIncludeFunctionObservable(\n includeFunction: IncludeFunction | IncludeFunction[]\n ): Observable<boolean> {\n if (Array.isArray(includeFunction)) {\n if (includeFunction.length === 0) {\n return of(true);\n }\n const observables = includeFunction.map(fn => this.getSingleIncludeFunction(fn));\n return combineLatest(observables).pipe(map(results => results.every(result => result)));\n }\n return this.getSingleIncludeFunction(includeFunction);\n }\n\n private getSingleIncludeFunction(includeFunction: IncludeFunction): Observable<boolean> {\n switch (includeFunction) {\n case IncludeFunction.ObjectManagementEnabled:\n return this.configService.getFeatureToggleObservable('enableObjectManagement', true);\n case IncludeFunction.OpenSearchEnabled:\n return this.configService.getFeatureToggleObservable('enableOpenSearch', false);\n case IncludeFunction.ZgwFeaturesEnabled:\n return this.configService.getFeatureToggleObservable('enableZgwFeatures', false);\n default:\n return of(true);\n }\n }\n\n /**\n * @deprecated Use getIncludeFunctionObservable instead\n */\n getIncludeFunction(includeFunction: IncludeFunction): Observable<boolean> {\n return this.getSingleIncludeFunction(includeFunction);\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {Injectable} from '@angular/core';\nimport {UserSettings} from '../models';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {Observable} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserSettingsService {\n private readonly valtimoApiUri!: string;\n\n constructor(\n private readonly http: HttpClient,\n private readonly configService: ConfigService\n ) {\n this.valtimoApiUri = configService?.config?.valtimoApi?.endpointUri;\n }\n\n getUserSettings(): Observable<UserSettings> {\n return this.http.get<UserSettings>(`${this.valtimoApiUri}v1/user/settings`);\n }\n\n saveUserSettings(settings: UserSettings): Observable<any> {\n return this.http.put(`${this.valtimoApiUri}v1/user/settings`, settings);\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {Versions} from '../models';\n\nconst VERSIONS: Versions = {\n frontendLibraries: '13.38.0',\n};\n\nexport {VERSIONS};\n","/*\n * Copyright 2015-2025 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\nimport {InjectionToken} from '@angular/core';\nimport {CaseManagementTabConfig} from '../models';\n\nconst CASE_MANAGEMENT_TAB_TOKEN = new InjectionToken<CaseManagementTabConfig>(\n 'Specify a component to display per configured tab translation key.'\n);\n\nexport {CASE_MANAGEMENT_TAB_TOKEN};\n","/*\n * Copyright 2015-2025 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\nimport {InjectionToken} from '@angular/core';\nimport {FormViewModel} from '../models';\n\nconst FORM_VIEW_MODEL_TOKEN = new InjectionToken<FormViewModel>(\n 'Specify the form view model component.'\n);\n\nexport {FORM_VIEW_MODEL_TOKEN};\n","/*\n * Copyright 2015-2025 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\nimport {HttpHeaders} from '@angular/common/http';\n\nconst InterceptorSkip = 'X-Skip-Interceptor';\nconst InterceptorSkipHeader = new HttpHeaders().set(InterceptorSkip, 'all');\n\nexport {InterceptorSkip, InterceptorSkipHeader};\n","/*\n * Copyright 2015-2025 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\nimport {InjectionToken, Type} from '@angular/core';\n\nconst CASE_CONFIGURATION_EXTENSIONS_TOKEN = new InjectionToken<Type<any>[]>(\n 'Specify components to display on on the case management general page.'\n);\n\nexport {CASE_CONFIGURATION_EXTENSIONS_TOKEN};\n","/*\n * Copyright 2015-2025 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\nimport {InjectionToken} from '@angular/core';\n\nconst IKO_TOKEN = new InjectionToken<boolean>('IKO is enabled when this token is provided');\n\nexport {IKO_TOKEN};\n","/*\n * Copyright 2015-2026 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\nimport {InjectionToken} from '@angular/core';\nimport {BuildingBlockManagementTabConfig} from '../models';\n\nconst BUILDING_BLOCK_MANAGEMENT_TAB_TOKEN = new InjectionToken<BuildingBlockManagementTabConfig[]>(\n 'Specify components to display as tabs on the building block management detail page.'\n);\n\nexport {BUILDING_BLOCK_MANAGEMENT_TAB_TOKEN};\n","/*\n * Copyright 2015-2025 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\nexport * from './versions';\nexport * from './case-management-tab-token';\nexport * from './form-view-model-token';\nexport * from './error.constants';\nexport * from './case-configuration-extensions-token';\nexport * from './iko.token';\nexport * from './building-block-management-tab-token';\n","/*\n * Copyright 2015-2025 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\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {map, Observable, of} from 'rxjs';\nimport {ConfigService} from './config.service';\nimport {BaseApiService} from './base-api.service';\nimport {GlobalConfiguration} from '../models';\nimport {catchError} from 'rxjs/operators';\nimport {InterceptorSkip} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EnvironmentService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public canUpdateGlobalConfiguration(): Observable<boolean> {\n return this.httpClient\n .get<GlobalConfiguration>(this.getApiUrl('management/v1/case-definition/check'), {\n headers: new HttpHeaders().set(InterceptorSkip, '404'),\n })\n .pipe(\n map(response => response.canUpdateGlobalConfiguration),\n catchError(() => of(true))\n );\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {map, Observable, of} from 'rxjs';\nimport {ConfigService} from './config.service';\nimport {BaseApiService} from './base-api.service';\nimport {InterceptorSkip} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DraftVersionService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public isDraftVersion(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string\n ): Observable<boolean> {\n if (!caseDefinitionKey || !caseDefinitionVersionTag) {\n return of(false);\n }\n\n return this.httpClient\n .get<any>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}`\n ),\n {\n headers: new HttpHeaders().set(InterceptorSkip, '403'),\n }\n )\n .pipe(map(caseDefinition => !caseDefinition.final));\n }\n\n public isDraftVersionBuildingBlock(\n buildingBlockDefinitionKey: string,\n buildingBlockDefinitionVersionTag: string\n ): Observable<boolean> {\n if (!buildingBlockDefinitionKey || !buildingBlockDefinitionVersionTag) {\n return of(false);\n }\n\n return this.httpClient\n .get<any>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockDefinitionKey}/version/${buildingBlockDefinitionVersionTag}`\n ),\n {\n headers: new HttpHeaders().set(InterceptorSkip, '403'),\n }\n )\n .pipe(map(buildingBlockDefinition => !buildingBlockDefinition.final));\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {BaseApiService} from './base-api.service';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {combineLatest, map, Observable, of} from 'rxjs';\nimport {EnvironmentService} from './environment.service';\nimport {DraftVersionService} from './draft-version.service';\nimport {Injectable} from '@angular/core';\nimport {BuildingBlockManagementParams, CaseManagementParams} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EditPermissionsService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService,\n public readonly environmentService: EnvironmentService,\n public readonly draftVersionService: DraftVersionService\n ) {\n super(httpClient, configService);\n }\n\n public hasEditPermissions(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string\n ): Observable<boolean> {\n return combineLatest([\n this.environmentService.canUpdateGlobalConfiguration(),\n this.draftVersionService.isDraftVersion(caseDefinitionKey, caseDefinitionVersionTag),\n ]).pipe(map(([canUpdate, isDraftVersion]) => canUpdate && isDraftVersion));\n }\n\n public hasPermissionsToEditBasedOnContext(\n params: CaseManagementParams | BuildingBlockManagementParams,\n context: string\n ): Observable<boolean> {\n if (context === 'case') {\n const caseManagementParams = params as CaseManagementParams;\n return this.hasEditPermissions(\n caseManagementParams.caseDefinitionKey,\n caseManagementParams.caseDefinitionVersionTag\n );\n } else if (context === 'independent') {\n return this.environmentService.canUpdateGlobalConfiguration();\n } else if (context === 'buildingBlock') {\n return of(true);\n }\n return of(false);\n }\n}\n","/*\n * Copyright 2015-2026 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\nimport {Injectable} from '@angular/core';\nimport {BehaviorSubject, map, Observable} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigurationIssueService {\n private readonly _unresolvedIssueTypes$ = new BehaviorSubject<Set<string>>(new Set());\n\n public setUnresolvedIssueTypes(issueTypes: string[]): void {\n this._unresolvedIssueTypes$.next(new Set(issueTypes));\n }\n\n public readonly hasAnyIssues$: Observable<boolean> = this._unresolvedIssueTypes$.pipe(\n map(types => types.size > 0)\n );\n\n public hasIssue$(issueType: string): Observable<boolean> {\n return this._unresolvedIssueTypes$.pipe(map(types => types.has(issueType)));\n }\n\n public hasAnyOfIssues$(issueTypes: string[]): Observable<boolean> {\n return this._unresolvedIssueTypes$.pipe(map(types => issueTypes.some(t => types.has(t))));\n }\n}\n","/*\n * Copyright 2015-2026 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\nexport * from './base-api.service';\nexport * from './config.service';\nexport * from './global-notification.service';\nexport * from './localization.service';\nexport * from './menu-include.service';\nexport * from './user-settings.service';\nexport * from './environment.service';\nexport * from './draft-version.service';\nexport * from './edit-permissions.service';\nexport * from './configuration-issue.service';\n","/*\n * Copyright 2015-2025 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 */\nimport {CommonModule} from '@angular/common';\nimport {Component, OnInit} from '@angular/core';\nimport {NotificationService} from 'carbon-components-angular';\nimport {GlobalNotificationService} from '../services';\n\n@Component({\n selector: 'valtimo-global-notification',\n template: ``,\n styles: `\n ::ng-deep.cds--toast-notification {\n width: 100%;\n }\n `,\n providers: [NotificationService],\n standalone: true,\n imports: [CommonModule],\n})\nexport class GlobalNotificationComponent implements OnInit {\n constructor(\n private readonly globalNotificationService: GlobalNotificationService,\n private readonly notificationService: NotificationService\n ) {}\n\n public ngOnInit(): void {\n this.globalNotificationService.setNotificationService(this.notificationService);\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {Component, Input, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {ConfigService} from '../services/config.service';\nimport {Extension, ExtensionLoader, ExtensionPoint} from '../models';\n\n@Component({\n selector: 'valtimo-extension',\n templateUrl: './extension.component.html',\n styleUrls: ['./extension.component.css'],\n standalone: false,\n})\nexport class ExtensionComponent implements OnInit {\n public extensionLoader: ExtensionLoader = null;\n public selectedExtensionPoint: ExtensionPoint;\n public supportedExtensions: Array<Extension>;\n @Input() public module: string;\n @Input() public page: string;\n @Input() public section: string;\n @ViewChild('injectExtension', {read: ViewContainerRef, static: true})\n viewContainerRef: ViewContainerRef;\n\n constructor(private configService: ConfigService) {}\n\n ngOnInit() {\n this.configService\n .getSupportedExtensionPoints(this.module, this.page, this.section)\n .forEach(extension => {\n this.configService.loadExtensionPoint(this.viewContainerRef, extension.extensionPoint);\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 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<ng-template #injectExtension></ng-template>\n","/*\n * Copyright 2015-2025 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\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {ConfigService} from './services/config.service';\nimport {VALTIMO_CONFIG, ValtimoConfig} from './models';\nimport {ExtensionComponent} from './extension/extension.component';\n\n@NgModule({\n declarations: [ExtensionComponent],\n imports: [],\n exports: [ExtensionComponent],\n})\nexport class ConfigModule {\n static forRoot(config: ValtimoConfig): ModuleWithProviders<ConfigModule> {\n return {\n ngModule: ConfigModule,\n providers: [\n ConfigService,\n {\n provide: VALTIMO_CONFIG,\n useValue: config,\n },\n ],\n };\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {Injectable} from '@angular/core';\nimport {Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockTranslateService {\n public stream(key: string): Observable<any> {\n return of(null);\n }\n\n public instant(key: string): string {\n return '';\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {Injectable} from '@angular/core';\nimport {Observable, of} from 'rxjs';\nimport {KeycloakProfile} from 'keycloak-js';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockKeycloakService {\n public get keycloakEvents$(): Observable<{type: string}> {\n return of({type: ''});\n }\n\n public isLoggedIn(): Observable<boolean> {\n return of(true);\n }\n\n private readonly MOCK_USER_PROFILE: KeycloakProfile = {\n id: '',\n username: '',\n email: '',\n firstName: '',\n lastName: '',\n enabled: true,\n emailVerified: true,\n totp: true,\n createdTimestamp: 0,\n };\n\n public async loadUserProfile(): Promise<KeycloakProfile> {\n return this.MOCK_USER_PROFILE;\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockIconService {\n public registerAll(value: Array<any>): void {\n return;\n }\n}\n","/*\n * Copyright 2015-2025 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\nexport * from './mock-translate.service';\nexport * from './mock-keycloak.service';\nexport * from './mock-icon.service';\n","/*\n * Copyright 2015-2025 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\nexport * from './services';\n","/*\n * Copyright 2015-2025 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\nimport {HttpBackend, HttpClient} from '@angular/common/http';\nimport {catchError, map, switchMap} from 'rxjs/operators';\nimport {combineLatest, forkJoin, Observable, of} from 'rxjs';\nimport {deepmerge} from 'deepmerge-ts';\nimport {ITranslationResource} from '../models';\nimport {TranslateLoader} from '@ngx-translate/core';\nimport {LocalizationService} from '../services/localization.service';\n\nexport class CustomMultiTranslateHttpLoader implements TranslateLoader {\n private readonly _handler: HttpBackend;\n private readonly _httpClient: HttpClient;\n private readonly _resourcesPrefix: Array<string> | ITranslationResource[];\n private readonly _localizationService: LocalizationService;\n constructor(\n _handler: HttpBackend,\n _httpClient: HttpClient,\n _localizationService: LocalizationService,\n _resourcesPrefix: Array<string> | ITranslationResource[]\n ) {\n this._handler = _handler;\n this._httpClient = _httpClient;\n this._resourcesPrefix = _resourcesPrefix;\n this._localizationService = _localizationService;\n }\n getTranslation(lang: string): Observable<any> {\n const requests = this._resourcesPrefix.map(resource => {\n let path;\n if (resource.prefix) path = `${resource.prefix}${lang}${resource.suffix || '.json'}`;\n else path = `${resource}${lang}.json`;\n return new HttpClient(this._handler).get(path).pipe(\n catchError(res => {\n if (!resource.optional) {\n console.group();\n console.error('Something went wrong for the following translation file:', path);\n console.error(res);\n console.groupEnd();\n }\n return of({});\n })\n );\n });\n\n return forkJoin(requests).pipe(\n switchMap(localResourcesResponse =>\n combineLatest([of(localResourcesResponse), this._localizationService.getLocalization(lang)])\n ),\n map(([localResourcesResponse, localizationResponse]) =>\n deepmerge(...[...localResourcesResponse, localizationResponse])\n )\n );\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {HttpBackend, HttpClient} from '@angular/common/http';\nimport {ConfigService} from '../services/config.service';\nimport {CustomMultiTranslateHttpLoader} from './custom-multi-translate-http-loader';\nimport {LocalizationService} from '../services/localization.service';\n\nexport function CustomMultiTranslateHttpLoaderFactory(\n http: HttpBackend,\n httpClient: HttpClient,\n configService: ConfigService,\n localizationService: LocalizationService\n) {\n const translationResources = configService?.config?.translationResources;\n\n return new CustomMultiTranslateHttpLoader(http, httpClient, localizationService, [\n './valtimo-translation/core/',\n ...(translationResources &&\n Array.isArray(translationResources) &&\n translationResources.length > 0\n ? translationResources\n : []),\n ]);\n}\n","/*\n * Copyright 2015-2025 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\nimport {HttpBackend} from '@angular/common/http';\nimport {MultiTranslateHttpLoader} from 'ngx-translate-multi-http-loader';\nimport {ConfigService} from '../services/config.service';\n\nexport function MultiTranslateHttpLoaderFactory(http: HttpBackend, configService: ConfigService) {\n const translationResources = configService.config.translationResources;\n\n return new MultiTranslateHttpLoader(http, [\n './valtimo-translation/core/',\n ...(translationResources &&\n Array.isArray(translationResources) &&\n translationResources.length > 0\n ? translationResources\n : []),\n ]);\n}\n","/*\n * Copyright 2015-2025 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\nexport * from './custom-multi-translate-http-loader';\nexport * from './custom-multi-translate-http-loader-factory';\nexport * from './multi-translate-http-loader-factory';\n","/*\n * Copyright 2015-2025 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\nimport {InjectionToken, Type} from '@angular/core';\n\nconst ZGW_OBJECT_TYPE_COMPONENT_TOKEN = new InjectionToken<Type<any>>(\n 'Specify a component to display ZGW object types.'\n);\n\nexport {ZGW_OBJECT_TYPE_COMPONENT_TOKEN};\n","/*\n * Copyright 2015-2025 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\nimport {InjectionToken, Type} from '@angular/core';\n\nconst ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN = new InjectionToken<Type<any>>(\n 'Specify a component to display on documents tab when Documenten API is set as the upload provider in the environment file.'\n);\n\nexport {ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN};\n","/*\n * Copyright 2015-2025 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\nexport * from './zgw-object-type-component-token';\nexport * from './zgw-documenten-api-documents-component-token';\n","/*\n * Copyright 2015-2025 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\nexport * from './constants';\n","/*\n * Copyright 2015-2026 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\nimport {inject} from '@angular/core';\nimport {CanActivateFn, Router} from '@angular/router';\nimport {ConfigService} from '../services';\n\nexport const zgwFeaturesGuard: CanActivateFn = () => {\n const configService = inject(ConfigService);\n const router = inject(Router);\n\n const enabled = configService.featureToggles?.enableZgwFeatures !== false;\n\n if (!enabled) {\n return router.createUrlTree(['/']);\n }\n\n return true;\n};\n","/*\n * Copyright 2015-2026 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\nexport * from './zgw-features.guard';\n","/* tslint:disable */\n/* eslint-disable */\n// Generated using typescript-generator version 3.2.1263 on 2026-04-28 11:17:58.\n\nexport interface PbacConditionFieldDto {\n name: string;\n type: string;\n}\n\nexport interface PbacConditionTypeDto {\n key: string;\n}\n\nexport interface PbacEntityMapperDto {\n fromResourceType: string;\n toResourceType: string;\n}\n\nexport interface PbacFieldAliasDto {\n alias: string;\n field: string;\n}\n\nexport interface PbacOperatorDto {\n key: string;\n}\n\nexport interface PbacRegistryDto {\n resources: PbacResourceDto[];\n operators: PbacOperatorDto[];\n conditionTypes: PbacConditionTypeDto[];\n entityMappers: PbacEntityMapperDto[];\n roles: string[];\n}\n\nexport interface PbacResourceDto {\n resourceType: string;\n shortName: string;\n actions: string[];\n fields: PbacConditionFieldDto[];\n fieldAliases: PbacFieldAliasDto[];\n hasSpecificationFactory: boolean;\n containerTargets: string[];\n}\n\nexport interface AdminSettingsLogoDto {\n logoType: string;\n imageBase64: string;\n}\n\nexport interface AdminSettingsLogosDto {\n logo: AdminSettingsLogoDto | null;\n logoDarkMode: AdminSettingsLogoDto | null;\n}\n\nexport interface CreateAdminSettingsLogoDto {\n imageBase64: string;\n}\n\nexport interface BuildingBlockDefinitionArtworkDto {\n key: string;\n versionTag: string;\n imageBase64: string;\n}\n\nexport interface BuildingBlockDefinitionDto {\n key: string;\n versionTag: string;\n name: string;\n description: string | null;\n createdBy: string | null;\n createdDate: DateAsString | null;\n basedOnVersionTag: string | null;\n final: boolean;\n imageBase64: string | null;\n}\n\nexport interface BuildingBlockFormDefinitionDto {\n id: string;\n name: string;\n formDefinition: any;\n readOnly: boolean;\n}\n\nexport interface BuildingBlockProcessDefinitionDto {\n id: string;\n key: string;\n name: string | null;\n versionTag: string | null;\n main: boolean;\n draft: boolean;\n}\n\nexport interface BuildingBlockProcessDefinitionWithLinksDto {\n processDefinition: ProcessDefinitionWithPropertiesDto;\n processLinks: ProcessLinkResponseDto[];\n bpmn20Xml: string;\n draft: boolean;\n}\n\nexport interface BuildingBlockVersionDto {\n versionTag: string;\n final: boolean;\n}\n\nexport interface CaseDefinitionBuildingBlockLinkDto {\n id: string;\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n buildingBlockDefinitionKey: string;\n buildingBlockDefinitionVersionTag: string;\n inputMappings: BuildingBlockInputMapping[];\n outputMappings: BuildingBlockOutputMapping[];\n pluginConfigurationMappings: { [index: string]: string };\n}\n\nexport interface CreateBuildingBlockDefinitionArtworkDto {\n imageBase64: string;\n}\n\nexport interface CreateBuildingBlockDefinitionDto {\n key: string;\n versionTag: string;\n name: string;\n description: string | null;\n}\n\nexport interface CreateBuildingBlockDraftDto {\n versionTag: string;\n}\n\nexport interface CreateBuildingBlockFormDefinitionDto {\n name: string;\n formDefinition: string;\n readOnly: boolean | null;\n}\n\nexport interface CreateCaseDefinitionBuildingBlockLinkDto {\n buildingBlockDefinitionKey: string;\n buildingBlockDefinitionVersionTag: string;\n inputMappings: BuildingBlockInputMapping[];\n outputMappings: BuildingBlockOutputMapping[];\n pluginConfigurationMappings: { [index: string]: string };\n}\n\nexport interface UpdateBuildingBlockDefinitionArtworkDto {\n imageBase64: string;\n}\n\nexport interface UpdateBuildingBlockDefinitionDto {\n name: string;\n description: string | null;\n}\n\nexport interface UpdateBuildingBlockFormDefinitionDto {\n name: string;\n formDefinition: string;\n}\n\nexport interface UpdateCaseDefinitionBuildingBlockLinkDto {\n inputMappings: BuildingBlockInputMapping[];\n outputMappings: BuildingBlockOutputMapping[];\n pluginConfigurationMappings: { [index: string]: string };\n}\n\nexport interface CaseDefinitionCheckResponse {\n canUpdateGlobalConfiguration: boolean;\n}\n\nexport interface CaseDefinitionConfigurationIssueDto {\n id: string;\n issueType: string;\n resolved: boolean;\n createdAt: DateAsString;\n resolvedAt: DateAsString | null;\n}\n\nexport interface CaseDefinitionDraftCreateRequest {\n caseDefinitionKey: string;\n caseDefinitionVersion: string;\n name: string | null;\n description: string | null;\n basedOnCaseDefinitionVersion: string | null;\n caseDefinitionId: CaseDefinitionId;\n basedOnCaseDefinitionId: CaseDefinitionId | null;\n}\n\nexport interface CaseDefinitionImportPreviewResponse {\n key: string;\n name: string;\n versionTag: string;\n final: boolean;\n}\n\nexport interface CaseDefinitionImportResponse {\n caseDefinitionId: CaseDefinitionId | null;\n}\n\nexport interface CaseDefinitionQuickSearchDto {\n queryPath: string;\n title: string;\n}\n\nexport interface CaseDefinitionResponseDto {\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n name: string;\n description: string | null;\n createdBy: string | null;\n createdDate: DateAsString | null;\n basedOnVersionTag: string | null;\n final: boolean;\n active: boolean;\n canHaveAssignee: boolean;\n autoAssignTasks: boolean;\n hasExternalStartForm: boolean | null;\n externalStartFormUrl: string | null;\n externalStartFormDescription: string | null;\n conflictingVersions: string | null;\n hasConfigurationIssues: boolean;\n originalKey: string | null;\n originalName: string | null;\n originalVersionTag: string | null;\n}\n\nexport interface CaseDefinitionSettingsResponseDto {\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n canHaveAssignee: boolean;\n autoAssignTasks: boolean;\n hasExternalStartForm: boolean | null;\n externalStartFormUrl: string | null;\n externalStartFormDescription: string | null;\n}\n\nexport interface CaseDefinitionUpdateRequest {\n name: string | null;\n description: string | null;\n}\n\nexport interface CaseListColumnDto {\n title: string | null;\n key: string;\n path: string;\n displayType: any;\n sortable: boolean;\n defaultSort: ColumnDefaultSort | null;\n order: number | null;\n exportable: boolean;\n}\n\nexport interface CaseListRowDto {\n id: string;\n items: CaseListItemDto[];\n}\n\nexport interface CaseSettingsDto {\n canHaveAssignee: boolean | null;\n autoAssignTasks: boolean | null;\n hasExternalStartForm: boolean | null;\n externalStartFormUrl: string | null;\n externalStartFormDescription: string | null;\n}\n\nexport interface CaseTabDto {\n key: string;\n name: string | null;\n type: CaseTabType;\n contentKey: string;\n showTasks: boolean;\n}\n\nexport interface CaseTabUpdateDto {\n name: string | null;\n type: CaseTabType;\n contentKey: string;\n showTasks: boolean;\n}\n\nexport interface CaseTabUpdateOrderDto {\n key: string;\n name: string | null;\n type: CaseTabType;\n contentKey: string;\n showTasks: boolean;\n}\n\nexport interface CaseTabWithMetadataDto {\n key: string;\n name: string | null;\n type: CaseTabType;\n contentKey: string;\n createdOn: DateAsString | null;\n createdBy: string | null;\n showTasks: boolean;\n}\n\nexport interface CaseVersionDto {\n versionTag: string;\n active: boolean;\n final: boolean;\n}\n\nexport interface CreateStartableItemRequest {\n type: StartableItemType;\n properties: any;\n}\n\nexport interface HiddenCaseListColumnDto {\n columnKey: string;\n}\n\nexport interface ManagementStartableItemDto {\n type: StartableItemType;\n name: string | null;\n key: string;\n versionTag: string | null;\n processDefinitionId: string | null;\n sortOrder: number | null;\n}\n\nexport interface StartableItemDto {\n type: StartableItemType;\n name: string | null;\n key: string;\n versionTag: string | null;\n processDefinitionId: string | null;\n}\n\nexport interface StartableItemOrderEntry {\n key: string;\n type: StartableItemType;\n versionTag: string | null;\n sortOrder: number;\n}\n\nexport interface TaskListColumnDto {\n title: string | null;\n key: string;\n path: string;\n displayType: any;\n sortable: boolean;\n defaultSort: ColumnDefaultSort | null;\n order: number | null;\n}\n\nexport interface UpdateStartableItemOrderRequest {\n items: StartableItemOrderEntry[];\n}\n\nexport interface UpdateStartableItemRequest {\n type: StartableItemType;\n properties: any;\n}\n\nexport interface AdminWidgetConfigurationResponseDto {\n key: string;\n title: string;\n dataSourceKey: string;\n displayType: string;\n dataSourceProperties: ObjectNode;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface DashboardCreateRequestDto {\n title: string;\n description: string;\n}\n\nexport interface DashboardResponseDto {\n key: string;\n title: string;\n description: string;\n createdBy: string;\n createdOn: DateAsString;\n}\n\nexport interface DashboardUpdateRequestDto {\n key: string;\n title: string;\n description: string;\n}\n\nexport interface DashboardWidgetDataResultDto {\n key: string;\n data: any;\n}\n\nexport interface DashboardWithWidgetsResponseDto {\n key: string;\n title: string;\n widgets: WidgetConfigurationResponseDto[];\n}\n\nexport interface SingleWidgetConfigurationUpdateRequestDto {\n title: string;\n dataSourceKey: string;\n displayType: string;\n dataSourceProperties: ObjectNode;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface WidgetConfigurationCreateRequestDto {\n title: string;\n dataSourceKey: string;\n displayType: string;\n dataSourceProperties: ObjectNode;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface WidgetConfigurationResponseDto {\n key: string;\n title: string;\n displayType: string;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface WidgetConfigurationUpdateRequestDto {\n key: string;\n title: string;\n dataSourceKey: string;\n displayType: string;\n dataSourceProperties: ObjectNode;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface CaseTagCreateRequestDto {\n key: string;\n title: string;\n color: CaseTagColor;\n}\n\nexport interface CaseTagResponseDto {\n key: string;\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n title: string;\n color: CaseTagColor;\n order: number;\n}\n\nexport interface CaseTagUpdateRequestDto {\n key: string;\n title: string;\n color: CaseTagColor;\n}\n\nexport interface InternalCaseStatusCreateRequestDto {\n key: string;\n title: string;\n visibleInCaseListByDefault: boolean;\n retentionPeriodInDays: number;\n color: InternalCaseStatusColor;\n}\n\nexport interface InternalCaseStatusResponseDto {\n key: string;\n caseDefinitionName: string;\n title: string;\n visibleInCaseListByDefault: boolean;\n retentionPeriodInDays: number;\n order: number;\n color: InternalCaseStatusColor;\n}\n\nexport interface InternalCaseStatusUpdateOrderRequestDto {\n key: string;\n title: string;\n visibleInCaseListByDefault: boolean;\n retentionPeriodInDays: number;\n color: InternalCaseStatusColor;\n}\n\nexport interface InternalCaseStatusUpdateRequestDto {\n key: string;\n title: string;\n visibleInCaseListByDefault: boolean;\n retentionPeriodInDays: number;\n color: InternalCaseStatusColor;\n}\n\nexport interface ColumnKeyResponse {\n key: string;\n sortable: boolean;\n filterable: boolean;\n}\n\nexport interface ColumnResponse {\n key: string;\n sortable: boolean;\n filterable: boolean;\n defaultSort: string | null;\n}\n\nexport interface DocumentSearchRequest {\n informatieobjecttype: string | null;\n titel: string | null;\n vertrouwelijkheidaanduiding: string | null;\n creatiedatumFrom: DateAsString | null;\n creatiedatumTo: DateAsString | null;\n auteur: string | null;\n trefwoorden: string[] | null;\n}\n\nexport interface DocumentenApiDocumentDto {\n fileId: string;\n pluginConfigurationId: string;\n bestandsnaam: string | null;\n bestandsomvang: number | null;\n creatiedatum: DateAsString;\n auteur: string | null;\n titel: string | null;\n status: string | null;\n taal: string | null;\n identificatie: string | null;\n beschrijving: string | null;\n informatieobjecttype: string | null;\n informatieobjecttypeOmschrijving: string | null;\n trefwoorden: string[] | null;\n formaat: string | null;\n verzenddatum: DateAsString | null;\n ontvangstdatum: DateAsString | null;\n vertrouwelijkheidaanduiding: string | null;\n versie: number | null;\n indicatieGebruiksrecht: boolean | null;\n canView: boolean;\n canModify: boolean;\n canDelete: boolean;\n}\n\nexport interface DocumentenApiUploadFieldDto {\n key: string;\n defaultValue: string | null;\n visible: boolean;\n readonly: boolean;\n}\n\nexport interface DocumentenApiVersionDetailsDto {\n version: string;\n supportsFilterableColumns: boolean;\n supportsSortableColumns: boolean;\n supportsTrefwoorden: boolean;\n supportsUpdatingDefinitiveDocument: boolean;\n supportsObjectInformatieObjecten: boolean;\n experimentalVersion: boolean;\n}\n\nexport interface DocumentenApiVersionDto {\n selectedVersion: string | null;\n supportsFilterableColumns: boolean;\n supportsSortableColumns: boolean;\n supportsTrefwoorden: boolean;\n supportsUpdatingDefinitiveDocument: boolean;\n supportsObjectInformatieObjecten: boolean;\n}\n\nexport interface DocumentenApiVersionManagementDto {\n selectedVersion: string | null;\n detectedVersions: string[];\n supportsFilterableColumns: boolean;\n supportsSortableColumns: boolean;\n supportsTrefwoorden: boolean;\n}\n\nexport interface DocumentenApiVersionsManagementDto {\n versions: string[];\n versionDetails: DocumentenApiVersionDetailsDto[];\n}\n\nexport interface ModifyDocumentRequest {\n creatiedatum: DateAsString;\n titel: string;\n auteur: string;\n status: DocumentStatusType | null;\n taal: string;\n bestandsnaam: string | null;\n beschrijving: string | null;\n ontvangstdatum: DateAsString | null;\n verzenddatum: DateAsString | null;\n indicatieGebruiksrecht: boolean | null;\n vertrouwelijkheidaanduiding: string | null;\n informatieobjecttype: string | null;\n trefwoorden: string[] | null;\n}\n\nexport interface RelatedFileDto extends RelatedFile {\n fileName: string | null;\n sizeInBytes: number | null;\n pluginConfigurationId: string;\n author: string | null;\n title: string | null;\n status: string | null;\n language: string | null;\n identification: string | null;\n description: string | null;\n informatieobjecttype: string | null;\n informatieobjecttypeOmschrijving: string | null;\n keywords: string[] | null;\n format: string | null;\n sendDate: DateAsString | null;\n receiptDate: DateAsString | null;\n confidentialityLevel: string | null;\n version: number | null;\n indicationUsageRights: boolean | null;\n canView: boolean;\n canModify: boolean;\n canDelete: boolean;\n}\n\nexport interface ReorderColumnRequest {\n key: string;\n defaultSort: string | null;\n}\n\nexport interface UpdateColumnRequest {\n defaultSort: string | null;\n}\n\nexport interface FormOption {\n id: string;\n name: string;\n}\n\nexport interface FormProcessLinkCreateRequestDto extends ProcessLinkCreateRequestDto {\n formDefinitionId: string;\n viewModelEnabled: boolean | null;\n formDisplayType: FormDisplayType | null;\n formSize: FormSizes | null;\n subtitles: string[] | null;\n}\n\nexport interface FormProcessLinkExportResponseDto extends ProcessLinkExportResponseDto {\n formDefinitionName: string;\n viewModelEnabled: boolean;\n formDisplayType: FormDisplayType;\n formSize: FormSizes;\n subtitles: string[] | null;\n}\n\nexport interface FormProcessLinkResponseDto extends ProcessLinkResponseDto {\n formDefinitionId: string;\n viewModelEnabled: boolean;\n formDisplayType: FormDisplayType;\n formSize: FormSizes;\n subtitles: string[] | null;\n}\n\nexport interface FormProcessLinkUpdateRequestDto extends ProcessLinkUpdateRequestDto {\n formDefinitionId: string;\n viewModelEnabled: boolean | null;\n formDisplayType: FormDisplayType | null;\n formSize: FormSizes | null;\n subtitles: string[] | null;\n}\n\nexport interface FormSubmissionResult {\n documentId: string | null;\n errors: OperationError[];\n}\n\nexport interface FormSubmissionResultFailed extends FormSubmissionResult, TransactionalResult {\n}\n\nexport interface FormSubmissionResultSucceeded extends FormSubmissionResult {\n documentId: string;\n}\n\nexport interface IntermediateSaveRequest {\n submission: ObjectNode;\n taskInstanceId: string;\n}\n\nexport interface IntermediateSubmission {\n submission: ObjectNode;\n taskInstanceId: string;\n createdBy: string;\n createdOn: DateAsString;\n editedBy: string | null;\n editedOn: DateAsString | null;\n}\n\nexport interface IntermediateSubmissionKt {\n}\n\nexport interface FormFlowBreadcrumbResponse {\n title: string | null;\n key: string;\n stepInstanceId: string | null;\n completed: boolean;\n}\n\nexport interface FormFlowBreadcrumbsResponse {\n currentStepIndex: number;\n breadcrumbs: FormFlowBreadcrumbResponse[];\n}\n\nexport interface FormFlowProcessLinkCreateRequestDto extends ProcessLinkCreateRequestDto {\n formFlowDefinitionKey: string;\n formDisplayType: FormDisplayType | null;\n formSize: FormSizes | null;\n subtitles: string[] | null;\n}\n\nexport interface FormFlowProcessLinkExportResponseDto extends ProcessLinkExportResponseDto {\n formFlowDefinitionKey: string;\n formDisplayType: FormDisplayType;\n formSize: FormSizes;\n subtitles: string[] | null;\n}\n\nexport interface FormFlowProcessLinkResponseDto extends ProcessLinkResponseDto {\n formFlowDefinitionKey: string;\n formDisplayType: FormDisplayType;\n formSize: FormSizes;\n subtitles: string[] | null;\n}\n\nexport interface FormFlowProcessLinkUpdateRequestDto extends ProcessLinkUpdateRequestDto {\n formFlowDefinitionKey: string;\n formDisplayType: FormDisplayType | null;\n formSize: FormSizes | null;\n subtitles: string[] | null;\n}\n\nexport interface MultipleFormErrors {\n componentErrors: ComponentError[];\n}\n\nexport interface SingleFormError {\n error: string;\n component: string | null;\n}\n\nexport interface StartFormSubmissionResult {\n documentId: string | null;\n}\n\nexport interface LocalizationResponseDto {\n languageKey: string;\n content: ObjectNode;\n}\n\nexport interface LocalizationUpdateRequestDto {\n languageKey: string;\n content: ObjectNode;\n}\n\nexport interface LoggingEventPropertyDto {\n key: string;\n value: string;\n}\n\nexport interface LoggingEventResponse {\n timestamp: DateAsString;\n formattedMessage: string;\n level: string;\n properties: LoggingEventPropertyDto[];\n stacktrace: string | null;\n}\n\nexport interface LoggingEventSearchRequest {\n afterTimestamp: DateAsString | null;\n beforeTimestamp: DateAsString | null;\n level: string | null;\n likeFormattedMessage: string | null;\n properties: LoggingEventPropertyDto[];\n}\n\nexport interface NoteCreateRequestDto {\n content: string;\n}\n\nexport interface NoteResponseDto {\n id: string;\n createdByUserId: string;\n createdByUserFullName: string;\n createdDate: DateAsString;\n content: string;\n documentId: string;\n}\n\nexport interface NoteUpdateRequestDto {\n content: string;\n}\n\nexport interface URLProcessLinkCreateRequestDto extends ProcessLinkCreateRequestDto {\n url: string;\n}\n\nexport interface URLProcessLinkDeployDto extends ProcessLinkDeployDto {\n processLinkType: \"url\";\n url: string;\n}\n\nexport interface URLProcessLinkExportResponseDto extends ProcessLinkExportResponseDto {\n url: string;\n}\n\nexport interface URLProcessLinkResponseDto extends ProcessLinkResponseDto {\n url: string;\n}\n\nexport interface URLProcessLinkUpdateRequestDto extends ProcessLinkUpdateRequestDto {\n url: string;\n}\n\nexport interface URLSubmissionResult {\n errors: string[];\n documentId: string;\n}\n\nexport interface URLVariables {\n variables: { [index: string]: string };\n}\n\nexport interface CaseProcessDefinitionResponseDto {\n processDefinition: ProcessDefinitionWithPropertiesDto;\n processCaseLink: ProcessDefinitionCaseDefinition;\n processLinks: ProcessLinkResponseDto[];\n bpmn20Xml: string;\n draft: boolean;\n}\n\nexport interface ProcessDefinitionResponseDto {\n processDefinition: ProcessDefinitionWithPropertiesDto;\n processLinks: ProcessLinkResponseDto[];\n bpmn20Xml: string;\n}\n\nexport interface ProcessLinkActivityResult<T> {\n processLinkId: string;\n type: string;\n assignee: string | null;\n due: DateAsString | null;\n properties: T;\n}\n\nexport interface ProcessLinkActivityResultWithTask {\n task: TaskInstanceWithIdentityLink;\n processLinkActivityResult: ProcessLinkActivityResult<any> | null;\n}\n\nexport interface ProcessLinkCreateRequestDto {\n activityId: string;\n activityType: ActivityTypeWithEventName;\n processLinkType: string;\n processDefinitionId: string;\n}\n\nexport interface ProcessLinkExportResponseDto {\n activityId: string;\n activityType: ActivityTypeWithEventName;\n processLinkType: string;\n}\n\nexport interface ProcessLinkResponseDto {\n activityId: string;\n activityType: ActivityTypeWithEventName;\n processLinkType: string;\n processDefinitionId: string;\n id: string;\n}\n\nexport interface ProcessLinkUpdateRequestDto {\n processLinkType: string;\n id: string;\n}\n\nexport interface SearchFieldV2Dto {\n id: string;\n ownerId: string;\n ownerType: string;\n key: string;\n title: string | null;\n path: string;\n order: number;\n dataType: DataType;\n fieldType: FieldType;\n matchType: SearchFieldMatchType | null;\n dropdownDataProvider: string | null;\n required: boolean;\n}\n\nexport interface TabDto {\n key: string;\n title: string | null;\n type: string;\n properties: { [index: string]: any | null } | null;\n}\n\nexport interface TeamCreateRequestDto {\n key: string;\n title: string;\n}\n\nexport interface TeamImportExportDto {\n key: string;\n title: string;\n}\n\nexport interface TeamListResponseDto {\n key: string;\n title: string;\n userCount: number;\n}\n\nexport interface TeamResponseDto {\n key: string;\n title: string;\n}\n\nexport interface TeamUpdateRequestDto {\n key: string;\n title: string;\n}\n\nexport interface TeamUserCreateRequestDto {\n username: string;\n}\n\nexport interface TeamUserResponseDto {\n username: string;\n fullName: string | null;\n email: string | null;\n}\n\nexport interface BatchAssignTaskDTO {\n assignee: string;\n assignedTeamKey: string;\n tasksIds: string[];\n}\n\nexport interface ChoiceFieldCreateRequestDTO {\n keyName: string;\n title: string;\n}\n\nexport interface ChoiceFieldDTO {\n id: number;\n keyName: string;\n choiceFieldValues: ChoiceFieldValue[];\n}\n\nexport interface ChoiceFieldUpdateRequestDTO {\n id: number;\n keyName: string;\n title: string;\n}\n\nexport interface ChoiceFieldValueCreateRequestDTO {\n name: string;\n deprecated: boolean;\n sortOrder: number;\n value: string;\n}\n\nexport interface ChoiceFieldValueUpdateRequestDTO {\n id: number;\n name: string;\n deprecated: boolean;\n sortOrder: number;\n value: string;\n}\n\nexport interface CommentDto {\n text: string;\n}\n\nexport interface CustomTaskDto {\n task: OperatonTaskDto;\n formFields: FormField[];\n variables: { [index: string]: any };\n formLocation: string;\n processName: string;\n processKey: string;\n processVersion: string;\n businessKey: string;\n}\n\nexport interface DefinitionDeploymentResponseDto {\n identifier: string;\n}\n\nexport interface FlowNodeMigrationDTO {\n sourceFlowNodeMap: { [index: string]: string };\n targetFlowNodeMap: { [index: string]: string };\n uniqueFlowNodeMap: { [index: string]: string };\n}\n\nexport interface HeatmapTaskAverageDurationDTO extends HeatmapTaskDTO {\n averageDurationInMilliseconds: number;\n}\n\nexport interface HeatmapTaskCountDTO extends HeatmapTaskDTO {\n}\n\nexport interface HeatmapTaskDTO {\n name: string;\n count: number;\n totalCount: number;\n}\n\nexport interface KeyAndPasswordDTO {\n key: string;\n newPassword: string;\n}\n\nexport interface LoginDTO {\n username: string;\n password: string;\n rememberMe: boolean;\n}\n\nexport interface ProcessDefinitionDiagramWithPropertyDto {\n id: string;\n bpmn20Xml: string;\n readOnly: boolean;\n systemProcess: boolean;\n}\n\nexport interface ProcessDefinitionWithPropertiesDto extends ProcessDefinitionDto {\n readOnly: boolean;\n}\n\nexport interface ProcessInstanceDiagramDto {\n id: string;\n bpmn20Xml: string;\n historicActivityInstances: HistoricActivityInstance[];\n}\n\nexport interface ProcessInstanceSearchDTO {\n processVariables: ProcessVariableDTOV2Union[];\n}\n\nexport interface ProcessInstanceStatisticsDTO {\n duration: number;\n processName: string;\n}\n\nexport interface StartFormDto {\n formLocation: string;\n formFields: FormField[];\n genericForm: boolean;\n}\n\nexport interface TaskCompletionDTO {\n variables: { [index: string]: any };\n filesToDelete: string[];\n}\n\nexport interface UserTeamDto {\n key: string;\n}\n\nexport interface WidgetDto {\n type: string;\n title: string;\n compact: boolean | null;\n color: WidgetColor | null;\n icon: string | null;\n width: number;\n displayConditions: Condition<any>[] | null;\n highContrast: boolean;\n key: string;\n actions: WidgetAction[];\n}\n\nexport interface BuildingBlockInputMapping {\n source: string;\n target: string;\n}\n\nexport interface BuildingBlockOutputMapping {\n source: string;\n target: string;\n syncTiming: BuildingBlockSyncTiming;\n}\n\nexport interface CaseDefinitionId extends AbstractId<CaseDefinitionId>, BlueprintId {\n key: string;\n versionTag: Semver;\n}\n\nexport interface CaseListItemDto {\n key: string;\n value: any | null;\n}\n\nexport interface ObjectNode extends ContainerNode<ObjectNode>, Serializable {\n}\n\nexport interface URI extends Comparable<URI>, Serializable {\n}\n\nexport interface RelatedFile {\n createdOn: DateAsString;\n fileId: string;\n sizeInBytes: number;\n createdBy: string;\n fileName: string;\n}\n\nexport interface OperationError {\n}\n\nexport interface TransactionalResult {\n}\n\nexport interface ComponentError {\n component: string | null;\n message: string;\n}\n\nexport interface ProcessLinkDeployDto {\n processLinkType: \"url\";\n activityId: string;\n activityType: ActivityTypeWithEventName;\n processDefinitionId: string;\n}\n\nexport interface ProcessDefinitionCaseDefinition {\n id: ProcessDefinitionCaseDefinitionId;\n canInitializeDocument: boolean;\n startableByUser: boolean;\n processDefinitionName: string | null;\n processDefinitionKey: string | null;\n}\n\nexport interface TaskInstanceWithIdentityLink {\n businessKey: string;\n id: string | null;\n name: string | null;\n assignee: string | null;\n created: DateAsString | null;\n due: DateAsString | null;\n followUp: DateAsString | null;\n lastUpdated: DateAsString | null;\n delegationState: string | null;\n description: string | null;\n executionId: string | null;\n owner: string | null;\n parentTaskId: string | null;\n priority: number;\n processDefinitionId: string | null;\n processInstanceId: string | null;\n taskDefinitionKey: string | null;\n caseExecutionId: string | null;\n caseInstanceId: string | null;\n caseDefinitionId: string | null;\n suspended: boolean;\n tenantId: string | null;\n assignedTeam: TeamDto | null;\n valtimoAssignee: AssigneeDto | null;\n external: boolean;\n processDefinitionKey: string;\n identityLinks: OperatonIdentityLinkDto[];\n subtitles: string[];\n}\n\nexport interface ChoiceFieldValue extends AbstractAuditingEntity, Serializable {\n id: number;\n name: string;\n deprecated: boolean;\n sortOrder: number;\n value: string;\n choiceField: ChoiceField;\n}\n\nexport interface OperatonTaskDto {\n id: string | null;\n name: string | null;\n assignee: string | null;\n created: DateAsString | null;\n due: DateAsString | null;\n followUp: DateAsString | null;\n lastUpdated: DateAsString | null;\n delegationState: string | null;\n description: string | null;\n executionId: string | null;\n owner: string | null;\n parentTaskId: string | null;\n priority: number;\n processDefinitionId: string | null;\n processInstanceId: string | null;\n taskDefinitionKey: string | null;\n caseExecutionId: string | null;\n caseInstanceId: string | null;\n caseDefinitionId: string | null;\n suspended: boolean;\n tenantId: string | null;\n assignedTeam: TeamDto | null;\n valtimoAssignee: AssigneeDto | null;\n}\n\nexport interface FormField {\n businessKey: boolean;\n label: string;\n validationConstraints: FormFieldValidationConstraint[];\n value: TypedValue;\n typeName: string;\n properties: { [index: string]: string };\n id: string;\n type: FormType;\n /**\n * @deprecated since 1.0\n */\n defaultValue: any;\n}\n\nexport interface ProcessDefinitionDto {\n id: string;\n key: string;\n category: string;\n description: string;\n name: string;\n version: number;\n resource: string;\n deploymentId: string;\n diagram: string;\n suspended: boolean;\n tenantId: string;\n versionTag: string;\n historyTimeToLive: number;\n startableInTasklist: boolean;\n}\n\nexport interface HistoricActivityInstance {\n executionId: string;\n canceled: boolean;\n removalTime: DateAsString;\n activityId: string;\n assignee: string;\n tenantId: string;\n startTime: DateAsString;\n endTime: DateAsString;\n taskId: string;\n activityType: string;\n processDefinitionId: string;\n processDefinitionKey: string;\n rootProcessInstanceId: string;\n parentActivityInstanceId: string;\n calledProcessInstanceId: string;\n calledCaseInstanceId: string;\n processInstanceId: string;\n activityName: string;\n durationInMillis: number;\n completeScope: boolean;\n id: string;\n}\n\nexport interface ProcessVariableDTOV2 {\n \"@type\": \"string\" | \"date\" | \"boolean\" | \"enum\" | \"long\" | \"fileUpload\";\n name: string;\n}\n\nexport interface Condition<T> {\n path: string;\n operator: ExpressionOperator;\n value: T;\n}\n\nexport interface WidgetAction {\n}\n\nexport interface Semver extends Comparable<Semver> {\n major: number;\n minor: number;\n patch: number;\n preRelease: string[];\n build: string[];\n version: string;\n stable: boolean;\n}\n\nexport interface BlueprintId {\n tagPrefix: string;\n idKey: string;\n}\n\nexport interface Serializable {\n}\n\nexport interface ProcessDefinitionCaseDefinitionId extends AbstractId<ProcessDefinitionCaseDefinitionId> {\n processDefinitionId: ProcessDefinitionId;\n caseDefinitionId: CaseDefinitionId;\n}\n\nexport interface OperatonIdentityLinkDto {\n userId: string | null;\n groupId: string | null;\n type: string | null;\n}\n\nexport interface ChoiceField extends AbstractAuditingEntity, Serializable {\n id: number;\n keyName: string;\n title: string;\n}\n\nexport interface AbstractAuditingEntity {\n}\n\nexport interface TeamDto extends Team {\n}\n\nexport interface AssigneeDto {\n username: string;\n firstName: string | null;\n lastName: string | null;\n fullName: string;\n}\n\nexport interface FormFieldValidationConstraint {\n configuration: any;\n name: string;\n}\n\nexport interface TypedValue extends Serializable {\n value: any;\n type: ValueType;\n transient: boolean;\n}\n\nexport interface FormType {\n name: string;\n}\n\nexport interface StringProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"string\";\n value: string;\n}\n\nexport interface DateProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"date\";\n range: DateRange;\n}\n\nexport interface BooleanProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"boolean\";\n value: boolean;\n}\n\nexport interface EnumProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"enum\";\n values: string[];\n}\n\nexport interface LongProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"long\";\n value: number;\n}\n\nexport interface FileUploadProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"fileUpload\";\n value: boolean;\n}\n\nexport interface AbstractId<SELF> extends Identity, Serializable {\n}\n\nexport interface ContainerNode<T> extends BaseJsonNode, JsonNodeCreator {\n}\n\nexport interface Comparable<T> {\n}\n\nexport interface ProcessDefinitionId {\n id: string;\n}\n\nexport interface Team {\n title: string;\n key: string;\n}\n\nexport interface ValueType extends Serializable {\n primitiveValueType: boolean;\n name: string;\n parent: ValueType;\n abstract: boolean;\n}\n\nexport interface DateRange {\n from: DateAsString;\n to: DateAsString;\n}\n\nexport interface Identity {\n}\n\nexport interface BaseJsonNode extends Serializable {\n}\n\nexport interface JsonNodeCreator {\n}\n\nexport type DateAsString = string;\n\nexport type StartableItemType = \"PROCESS\" | \"BUILDING_BLOCK\";\n\nexport type ColumnDefaultSort = \"ASC\" | \"DESC\";\n\nexport type CaseTabType = \"standard\" | \"formio\" | \"custom\" | \"widgets\";\n\nexport type CaseTagColor = \"WARMGRAY\" | \"RED\" | \"MAGENTA\" | \"PURPLE\" | \"BLUE\" | \"CYAN\" | \"TEAL\" | \"GREEN\" | \"GRAY\" | \"COOLGRAY\" | \"HIGHCONTRAST\" | \"OUTLINE\";\n\nexport type InternalCaseStatusColor = \"WARMGRAY\" | \"RED\" | \"MAGENTA\" | \"PURPLE\" | \"BLUE\" | \"CYAN\" | \"TEAL\" | \"GREEN\" | \"GRAY\" | \"COOLGRAY\" | \"HIGHCONTRAST\" | \"OUTLINE\";\n\nexport type DocumentStatusType = \"in_bewerking\" | \"ter_vaststelling\" | \"definitief\" | \"gearchiveerd\";\n\nexport type ActivityTypeWithEventName = \"bpmn:MultiInstanceBody:start\" | \"bpmn:MultiInstanceBody:end\" | \"bpmn:ExclusiveGateway:start\" | \"bpmn:ExclusiveGateway:end\" | \"bpmn:InclusiveGateway:start\" | \"bpmn:InclusiveGateway:end\" | \"bpmn:ParallelGateway:start\" | \"bpmn:ParallelGateway:end\" | \"bpmn:ComplexGateway:start\" | \"bpmn:ComplexGateway:end\" | \"bpmn:EventBasedGateway:start\" | \"bpmn:EventBasedGateway:end\" | \"bpmn:Task:start\" | \"bpmn:Task:end\" | \"bpmn:ScriptTask:start\" | \"bpmn:ScriptTask:end\" | \"bpmn:ServiceTask:start\" | \"bpmn:ServiceTask:end\" | \"bpmn:BusinessRuleTask:start\" | \"bpmn:BusinessRuleTask:end\" | \"bpmn:ManualTask:start\" | \"bpmn:ManualTask:end\" | \"bpmn:UserTask:create\" | \"bpmn:UserTask:assignment\" | \"bpmn:UserTask:complete\" | \"bpmn:UserTask:update\" | \"bpmn:UserTask:delete\" | \"bpmn:UserTask:timeout\" | \"bpmn:UserTask:start\" | \"bpmn:UserTask:end\" | \"bpmn:SendTask:start\" | \"bpmn:SendTask:end\" | \"bpmn:ReceiveTask:start\" | \"bpmn:ReceiveTask:end\" | \"bpmn:SubProcess:start\" | \"bpmn:SubProcess:end\" | \"bpmn:AdHocSubProcess:start\" | \"bpmn:AdHocSubProcess:end\" | \"bpmn:CallActivity:start\" | \"bpmn:CallActivity:end\" | \"bpmn:Transaction:start\" | \"bpmn:Transaction:end\" | \"bpmn:BoundaryTimer:start\" | \"bpmn:BoundaryTimer:end\" | \"bpmn:BoundaryMessage:start\" | \"bpmn:BoundaryMessage:end\" | \"bpmn:BoundarySignal:start\" | \"bpmn:BoundarySignal:end\" | \"bpmn:CompensationBoundaryCatch:start\" | \"bpmn:CompensationBoundaryCatch:end\" | \"bpmn:BoundaryError:start\" | \"bpmn:BoundaryError:end\" | \"bpmn:BoundaryEscalation:start\" | \"bpmn:BoundaryEscalation:end\" | \"bpmn:CancelBoundaryCatch:start\" | \"bpmn:CancelBoundaryCatch:end\" | \"bpmn:BoundaryConditional:start\" | \"bpmn:BoundaryConditional:end\" | \"bpmn:StartEvent:start\" | \"bpmn:StartEvent:end\" | \"bpmn:StartTimerEvent:start\" | \"bpmn:StartTimerEvent:end\" | \"bpmn:MessageStartEvent:start\" | \"bpmn:MessageStartEvent:end\" | \"bpmn:SignalStartEvent:start\" | \"bpmn:SignalStartEvent:end\" | \"bpmn:EscalationStartEvent:start\" | \"bpmn:EscalationStartEvent:end\" | \"bpmn:CompensationStartEvent:start\" | \"bpmn:CompensationStartEvent:end\" | \"bpmn:ErrorStartEvent:start\" | \"bpmn:ErrorStartEvent:end\" | \"bpmn:ConditionalStartEvent:start\" | \"bpmn:ConditionalStartEvent:end\" | \"bpmn:IntermediateCatchEvent:start\" | \"bpmn:IntermediateCatchEvent:end\" | \"bpmn:IntermediateMessageCatch:start\" | \"bpmn:IntermediateMessageCatch:end\" | \"bpmn:IntermediateTimer:start\" | \"bpmn:IntermediateTimer:end\" | \"bpmn:IntermediateLinkCatch:start\" | \"bpmn:IntermediateLinkCatch:end\" | \"bpmn:IntermediateSignalCatch:start\" | \"bpmn:IntermediateSignalCatch:end\" | \"bpmn:IntermediateConditional:start\" | \"bpmn:IntermediateConditional:end\" | \"bpmn:IntermediateThrowEvent:start\" | \"bpmn:IntermediateThrowEvent:end\" | \"bpmn:IntermediateSignalThrow:start\" | \"bpmn:IntermediateSignalThrow:end\" | \"bpmn:IntermediateCompensationThrowEvent:start\" | \"bpmn:IntermediateCompensationThrowEvent:end\" | \"bpmn:IntermediateMessageThrowEvent:start\" | \"bpmn:IntermediateMessageThrowEvent:end\" | \"bpmn:IntermediateNoneThrowEvent:start\" | \"bpmn:IntermediateNoneThrowEvent:end\" | \"bpmn:IntermediateEscalationThrowEvent:start\" | \"bpmn:IntermediateEscalationThrowEvent:end\" | \"bpmn:ErrorEndEvent:start\" | \"bpmn:ErrorEndEvent:end\" | \"bpmn:CancelEndEvent:start\" | \"bpmn:CancelEndEvent:end\" | \"bpmn:TerminateEndEvent:start\" | \"bpmn:TerminateEndEvent:end\" | \"bpmn:MessageEndEvent:start\" | \"bpmn:MessageEndEvent:end\" | \"bpmn:SignalEndEvent:start\" | \"bpmn:SignalEndEvent:end\" | \"bpmn:CompensationEndEvent:start\" | \"bpmn:CompensationEndEvent:end\" | \"bpmn:EscalationEndEvent:start\" | \"bpmn:EscalationEndEvent:end\" | \"bpmn:NoneEndEvent:start\" | \"bpmn:NoneEndEvent:end\";\n\nexport type FormDisplayType = \"modal\" | \"panel\";\n\nexport type FormSizes = \"extraSmall\" | \"small\" | \"medium\" | \"large\";\n\nexport type DataType = \"text\" | \"number\" | \"date\" | \"datetime\" | \"time\" | \"boolean\" | \"bsn\";\n\nexport type FieldType = \"text_contains\" | \"single\" | \"range\" | \"single-select-dropdown\" | \"multi-select-dropdown\";\n\nexport type SearchFieldMatchType = \"like\" | \"exact\";\n\nexport type WidgetColor = \"YELLOW\" | \"ORANGE\" | \"RED\" | \"BROWN\" | \"GREEN\" | \"TURQOISE\" | \"PURPLE\" | \"PERIWINKLE\" | \"BLUE\" | \"HIGHCONTRAST\" | \"WHITE\";\n\nexport type BuildingBlockSyncTiming = \"CONTINUOUS\" | \"END\";\n\nexport type ExpressionOperator = \"!=\" | \"==\" | \">\" | \">=\" | \"<\" | \"<=\" | \"list_contains\" | \"in\";\n\nexport type ProcessVariableDTOV2Union = StringProcessVariableDTOV2 | DateProcessVariableDTOV2 | BooleanProcessVariableDTOV2 | EnumProcessVariableDTOV2 | LongProcessVariableDTOV2 | FileUploadProcessVariableDTOV2;\n","/*\n * Copyright 2015-2025 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/*\n * Public API Surface of shared\n */\n\nexport * from './lib/components/carousel/carousel.component';\nexport * from './lib/components/global-notification.component';\nexport * from './lib/config.module';\nexport * from './lib/constants';\nexport * from './lib/extension/extension.component';\nexport * from './lib/models';\nexport * from './lib/services';\nexport * from './lib/testing';\nexport * from './lib/translation';\nexport * from './lib/utils';\nexport * from './lib/zgw';\nexport * from './lib/guards';\nexport * from './lib/generated'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.ConfigService","i1.ConfigService","i3.EnvironmentService","i4.DraftVersionService","i1.GlobalNotificationService","i2","switchMap","map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"valtimo-shared.mjs","sources":["../../../../projects/valtimo/shared/src/lib/components/carousel/carousel.component.ts","../../../../projects/valtimo/shared/src/lib/components/carousel/carousel.component.html","../../../../projects/valtimo/shared/src/lib/utils/router.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/url.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/global-notification.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/route-params.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/display-type.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/validate-bsn.utils.ts","../../../../projects/valtimo/shared/src/lib/utils/index.ts","../../../../projects/valtimo/shared/src/lib/services/base-api.service.ts","../../../../projects/valtimo/shared/src/lib/models/config.ts","../../../../projects/valtimo/shared/src/lib/models/email-notification-settings.model.ts","../../../../projects/valtimo/shared/src/lib/models/menu-item.model.ts","../../../../projects/valtimo/shared/src/lib/models/menu.config.ts","../../../../projects/valtimo/shared/src/lib/models/security.config.ts","../../../../projects/valtimo/shared/src/lib/models/extension.model.ts","../../../../projects/valtimo/shared/src/lib/models/http-loader.ts","../../../../projects/valtimo/shared/src/lib/models/roles.ts","../../../../projects/valtimo/shared/src/lib/models/user-management.model.ts","../../../../projects/valtimo/shared/src/lib/models/page.ts","../../../../projects/valtimo/shared/src/lib/models/search.model.ts","../../../../projects/valtimo/shared/src/lib/models/versions.model.ts","../../../../projects/valtimo/shared/src/lib/models/user-settings.model.ts","../../../../projects/valtimo/shared/src/lib/models/translation.model.ts","../../../../projects/valtimo/shared/src/lib/models/localization.model.ts","../../../../projects/valtimo/shared/src/lib/models/form-view-model.model.ts","../../../../projects/valtimo/shared/src/lib/models/window.model.ts","../../../../projects/valtimo/shared/src/lib/models/management.model.ts","../../../../projects/valtimo/shared/src/lib/models/tag-color.model.ts","../../../../projects/valtimo/shared/src/lib/models/global-configuration.model.ts","../../../../projects/valtimo/shared/src/lib/models/modal.model.ts","../../../../projects/valtimo/shared/src/lib/models/display-type.model.ts","../../../../projects/valtimo/shared/src/lib/models/building-block-management.model.ts","../../../../projects/valtimo/shared/src/lib/models/index.ts","../../../../projects/valtimo/shared/src/lib/services/config.service.ts","../../../../projects/valtimo/shared/src/lib/services/global-notification.service.ts","../../../../projects/valtimo/shared/src/lib/services/localization.service.ts","../../../../projects/valtimo/shared/src/lib/services/menu-include.service.ts","../../../../projects/valtimo/shared/src/lib/services/user-settings.service.ts","../../../../projects/valtimo/shared/src/lib/constants/versions.ts","../../../../projects/valtimo/shared/src/lib/constants/case-management-tab-token.ts","../../../../projects/valtimo/shared/src/lib/constants/form-view-model-token.ts","../../../../projects/valtimo/shared/src/lib/constants/error.constants.ts","../../../../projects/valtimo/shared/src/lib/constants/case-configuration-extensions-token.ts","../../../../projects/valtimo/shared/src/lib/constants/iko.token.ts","../../../../projects/valtimo/shared/src/lib/constants/building-block-management-tab-token.ts","../../../../projects/valtimo/shared/src/lib/constants/index.ts","../../../../projects/valtimo/shared/src/lib/services/environment.service.ts","../../../../projects/valtimo/shared/src/lib/services/draft-version.service.ts","../../../../projects/valtimo/shared/src/lib/services/edit-permissions.service.ts","../../../../projects/valtimo/shared/src/lib/services/configuration-issue.service.ts","../../../../projects/valtimo/shared/src/lib/services/index.ts","../../../../projects/valtimo/shared/src/lib/components/global-notification.component.ts","../../../../projects/valtimo/shared/src/lib/extension/extension.component.ts","../../../../projects/valtimo/shared/src/lib/extension/extension.component.html","../../../../projects/valtimo/shared/src/lib/config.module.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-translate.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-keycloak.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/mock-icon.service.ts","../../../../projects/valtimo/shared/src/lib/testing/services/index.ts","../../../../projects/valtimo/shared/src/lib/testing/index.ts","../../../../projects/valtimo/shared/src/lib/translation/custom-multi-translate-http-loader.ts","../../../../projects/valtimo/shared/src/lib/translation/custom-multi-translate-http-loader-factory.ts","../../../../projects/valtimo/shared/src/lib/translation/multi-translate-http-loader-factory.ts","../../../../projects/valtimo/shared/src/lib/translation/index.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/zgw-object-type-component-token.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/zgw-documenten-api-documents-component-token.ts","../../../../projects/valtimo/shared/src/lib/zgw/constants/index.ts","../../../../projects/valtimo/shared/src/lib/zgw/index.ts","../../../../projects/valtimo/shared/src/lib/guards/zgw-features.guard.ts","../../../../projects/valtimo/shared/src/lib/guards/index.ts","../../../../projects/valtimo/shared/src/lib/generated/generated-backend-types.ts","../../../../projects/valtimo/shared/src/public-api.ts","../../../../projects/valtimo/shared/src/valtimo-shared.ts"],"sourcesContent":["/*\n * Copyright 2015-2026 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 */\nimport {CommonModule} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n NgZone,\n OnDestroy,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {ChevronLeft16, ChevronRight16} from '@carbon/icons';\nimport {ButtonModule, IconModule, IconService} from 'carbon-components-angular';\nimport {BehaviorSubject} from 'rxjs';\n\n@Component({\n selector: 'valtimo-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule, TranslateModule, ButtonModule, IconModule],\n})\nexport class CarouselComponent implements AfterViewInit, OnDestroy {\n @HostBinding('class') public readonly hostClasses = 'valtimo-carousel';\n\n @Input() public ariaLabel?: string;\n\n @ViewChild('track') private readonly trackRef!: ElementRef<HTMLElement>;\n\n public readonly canScrollPrev$ = new BehaviorSubject<boolean>(false);\n public readonly canScrollNext$ = new BehaviorSubject<boolean>(false);\n public readonly itemCount$ = new BehaviorSubject<number>(0);\n public readonly activeIndex$ = new BehaviorSubject<number>(0);\n public readonly dots$ = new BehaviorSubject<number[]>([]);\n\n private resizeObserver?: ResizeObserver;\n private mutationObserver?: MutationObserver;\n\n constructor(\n private readonly iconService: IconService,\n private readonly ngZone: NgZone\n ) {\n this.iconService.registerAll([ChevronLeft16, ChevronRight16]);\n }\n\n public ngAfterViewInit(): void {\n const track = this.trackRef.nativeElement;\n\n this.resizeObserver = new ResizeObserver(() => this.ngZone.run(() => this.updateScrollState()));\n this.resizeObserver.observe(track);\n\n this.mutationObserver = new MutationObserver(() =>\n this.ngZone.run(() => this.updateScrollState())\n );\n this.mutationObserver.observe(track, {childList: true});\n\n this.updateScrollState();\n }\n\n public ngOnDestroy(): void {\n this.resizeObserver?.disconnect();\n this.mutationObserver?.disconnect();\n }\n\n public onScroll(): void {\n this.updateScrollState();\n }\n\n public scrollPrev(): void {\n this.scrollByViewport(-1);\n }\n\n public scrollNext(): void {\n this.scrollByViewport(1);\n }\n\n public scrollToIndex(index: number): void {\n const track = this.trackRef.nativeElement;\n track.scrollTo({left: index * track.clientWidth, behavior: 'smooth'});\n }\n\n private scrollByViewport(direction: 1 | -1): void {\n const track = this.trackRef.nativeElement;\n track.scrollBy({left: direction * track.clientWidth, behavior: 'smooth'});\n }\n\n private updateScrollState(): void {\n const track = this.trackRef.nativeElement;\n const maxScrollLeft = track.scrollWidth - track.clientWidth;\n this.canScrollPrev$.next(track.scrollLeft > 0);\n this.canScrollNext$.next(track.scrollLeft < maxScrollLeft - 1);\n\n const count = track.children.length;\n if (count !== this.itemCount$.value) {\n this.itemCount$.next(count);\n this.dots$.next(Array.from({length: count}, (_, index) => index));\n }\n\n const activeIndex = track.clientWidth > 0 ? Math.round(track.scrollLeft / track.clientWidth) : 0;\n if (activeIndex !== this.activeIndex$.value) {\n this.activeIndex$.next(activeIndex);\n }\n }\n}\n","<!--\n ~ Copyright 2015-2026 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<ng-container\n *ngIf=\"{\n prev: canScrollPrev$ | async,\n next: canScrollNext$ | async,\n count: itemCount$ | async,\n active: activeIndex$ | async,\n dots: dots$ | async\n } as vm\"\n>\n <div class=\"valtimo-carousel__viewport\">\n <ul\n #track\n class=\"valtimo-carousel__track\"\n [attr.aria-label]=\"ariaLabel\"\n (scroll)=\"onScroll()\"\n >\n <ng-content></ng-content>\n </ul>\n </div>\n\n <div *ngIf=\"vm.count > 1\" class=\"valtimo-carousel__controls\">\n <cds-icon-button\n class=\"valtimo-carousel__nav\"\n kind=\"ghost\"\n size=\"md\"\n align=\"top-left\"\n [description]=\"'carousel.previous' | translate\"\n [disabled]=\"!vm.prev\"\n (click)=\"scrollPrev()\"\n >\n <svg cdsIcon=\"chevron--left\" size=\"16\"></svg>\n </cds-icon-button>\n\n <div class=\"valtimo-carousel__dots\" role=\"tablist\">\n <button\n *ngFor=\"let index of vm.dots\"\n type=\"button\"\n class=\"valtimo-carousel__dot\"\n [class.valtimo-carousel__dot--active]=\"index === vm.active\"\n [attr.aria-label]=\"('carousel.goToSlide' | translate) + ' ' + (index + 1)\"\n [attr.aria-current]=\"index === vm.active\"\n (click)=\"scrollToIndex(index)\"\n ></button>\n </div>\n\n <cds-icon-button\n class=\"valtimo-carousel__nav\"\n kind=\"ghost\"\n size=\"md\"\n align=\"top-right\"\n [description]=\"'carousel.next' | translate\"\n [disabled]=\"!vm.next\"\n (click)=\"scrollNext()\"\n >\n <svg cdsIcon=\"chevron--right\" size=\"16\"></svg>\n </cds-icon-button>\n </div>\n</ng-container>\n","/*\n * Copyright 2015-2025 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\nimport {ExtraOptions} from '@angular/router';\n\nclass RouterUtils {\n public static getRouterExtraOptions(): ExtraOptions {\n return {canceledNavigationResolution: 'computed'};\n }\n}\n\nexport {RouterUtils};\n","/*\n * Copyright 2015-2025 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\nclass UrlUtils {\n static formatUrlTrailingSlash(url: string, returnWithTrailingSlash: boolean): string {\n if (url && typeof url === 'string') {\n const urlLastCharacter = url[url.length - 1];\n const urlLastCharacterIsSlash = urlLastCharacter === '/';\n\n if (!returnWithTrailingSlash && urlLastCharacterIsSlash) {\n return url.slice(0, -1);\n } else if (returnWithTrailingSlash && !urlLastCharacterIsSlash) {\n return `${url}/`;\n }\n }\n\n return url;\n }\n\n static formatUrlStartWithSlash(url: string): string {\n if (url && typeof url === 'string' && url.length > 0 && url[0] !== '/') {\n return `/${url}`;\n }\n\n return `${url}`;\n }\n\n static getUrlHost(urlString: string): string {\n let url!: URL;\n\n try {\n url = new URL(urlString);\n } catch (_) {}\n\n return url ? url.host : '';\n }\n}\n\nexport {UrlUtils};\n","/*\n * Copyright 2015-2025 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\nimport {NotificationContent} from 'carbon-components-angular';\n\nexport const DEFAULT_NOTIFICATION_PARAMS = {\n duration: 4000,\n showClose: true,\n};\n\nexport const getNotificationObject = (content: NotificationContent): NotificationContent => ({\n ...DEFAULT_NOTIFICATION_PARAMS,\n ...content,\n});\n","/*\n * Copyright 2015-2025 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 */\nimport {BuildingBlockManagementParams, CaseManagementParams, ManagementContext} from '../models';\nimport {ActivatedRoute} from '@angular/router';\nimport {combineLatest, distinctUntilChanged, filter, map, Observable, of, switchMap} from 'rxjs';\nimport {isEqual} from 'lodash';\n\nconst getCaseManagementRouteParams = (\n route: ActivatedRoute,\n doFilter = false\n): Observable<CaseManagementParams | undefined> => {\n const rootParams$ = route.params ? route.params : of({});\n const parentParams$ = route.parent?.params ? route.parent.params : of({});\n return combineLatest([rootParams$, parentParams$]).pipe(\n map(([rootParams, parentParams]) => {\n const caseDefinitionKey =\n rootParams['caseDefinitionKey'] || parentParams['caseDefinitionKey'];\n const caseDefinitionVersionTag =\n rootParams['caseDefinitionVersionTag'] || parentParams['caseDefinitionVersionTag'];\n if (caseDefinitionKey && caseDefinitionVersionTag) {\n return {caseDefinitionKey, caseDefinitionVersionTag};\n }\n return null;\n }),\n filter((params): params is CaseManagementParams => (doFilter ? params !== null : true)),\n distinctUntilChanged((previous, current) => isEqual(previous, current))\n );\n};\n\nconst getBuildingBlockManagementRouteParams = (\n route: ActivatedRoute,\n doFilter = false\n): Observable<BuildingBlockManagementParams | undefined> => {\n const rootParams$ = route.params ? route.params : of({});\n const parentParams$ = route.parent?.params ? route.parent.params : of({});\n return combineLatest([rootParams$, parentParams$]).pipe(\n map(([rootParams, parentParams]) => {\n const buildingBlockDefinitionKey =\n rootParams['buildingBlockDefinitionKey'] || parentParams['buildingBlockDefinitionKey'];\n const buildingBlockDefinitionVersionTag =\n rootParams['buildingBlockDefinitionVersionTag'] ||\n parentParams['buildingBlockDefinitionVersionTag'];\n if (buildingBlockDefinitionKey && buildingBlockDefinitionVersionTag) {\n return {buildingBlockDefinitionKey, buildingBlockDefinitionVersionTag};\n }\n return null;\n }),\n filter((params): params is BuildingBlockManagementParams =>\n doFilter ? params !== null : true\n ),\n distinctUntilChanged((previous, current) => isEqual(previous, current))\n );\n};\n\nfunction getContextObservable(route: ActivatedRoute): Observable<ManagementContext | null> {\n // Traverse the route hierarchy to find the context data\n // The context is set on a parent route, so we need to look up the tree\n let currentRoute: ActivatedRoute | null = route;\n while (currentRoute) {\n const context = currentRoute.snapshot?.data?.['context'] as ManagementContext | undefined;\n if (context) {\n return currentRoute.data.pipe(\n map(data => (data && (data['context'] as ManagementContext)) || null),\n distinctUntilChanged()\n );\n }\n currentRoute = currentRoute.parent;\n }\n\n // Fallback to original behavior if no context found in hierarchy\n return route.data.pipe(\n map(data => (data && (data['context'] as ManagementContext)) || null),\n distinctUntilChanged()\n );\n}\n\nfunction getCaseManagementRouteParamsAndContext(\n route: ActivatedRoute\n): Observable<[ManagementContext, CaseManagementParams]> {\n const params$ = getCaseManagementRouteParams(route, true);\n const context$ = getContextObservable(route);\n\n return context$.pipe(\n switchMap(context => {\n if (context === 'case') {\n return combineLatest([of(context), params$]) as Observable<\n [ManagementContext, CaseManagementParams]\n >;\n }\n\n const fallbackParams: CaseManagementParams = {\n caseDefinitionKey: '',\n caseDefinitionVersionTag: '',\n };\n return of([context, fallbackParams] as [ManagementContext, CaseManagementParams]);\n })\n );\n}\n\nexport {\n getCaseManagementRouteParams,\n getContextObservable,\n getCaseManagementRouteParamsAndContext,\n getBuildingBlockManagementRouteParams,\n};\n","/*\n * Copyright 2015-2025 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\nimport {DisplayTypeParameters} from '../models';\n\nconst getDisplayTypeParametersView = (displayTypeParameters: DisplayTypeParameters): string => {\n if (displayTypeParameters?.dateFormat) {\n return displayTypeParameters.dateFormat;\n } else if (displayTypeParameters?.tagAmount) {\n return displayTypeParameters.tagAmount.toString();\n } else if (displayTypeParameters?.enum) {\n return Object.keys(displayTypeParameters.enum).reduce((acc, curr) => {\n const keyValuePairString = `${curr}: ${displayTypeParameters.enum?.[curr]}`;\n if (!acc) {\n return `${keyValuePairString}`;\n }\n\n return `${acc}, ${keyValuePairString}`;\n }, '');\n }\n\n return '-';\n};\n\nexport {getDisplayTypeParametersView};\n","/*\n * Copyright 2015-2025 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\nconst validateBsn = (value: string): {isValid: boolean; errorKey: string | null} => {\n const baseKey = 'interface.dataValidation.bsnValidator';\n\n if (!value) {\n return {isValid: false, errorKey: `${baseKey}.valueEmpty`};\n }\n\n const trimmed = value.toString().trim();\n\n if (!/^\\d+$/.test(trimmed)) {\n return {isValid: false, errorKey: `${baseKey}.valueOnlyDigits`};\n }\n\n if (trimmed.length < 8 || trimmed.length > 9) {\n return {isValid: false, errorKey: `${baseKey}.valueMinLength`};\n }\n\n if (trimmed.length > 9) {\n return {isValid: false, errorKey: `${baseKey}.valueMaxLength`};\n }\n\n if (/^0+$/.test(trimmed) || /^9+$/.test(trimmed)) {\n return {isValid: false, errorKey: `${baseKey}.valueAllZerosOrNines`};\n }\n\n const digits = trimmed.split('').map(d => parseInt(d, 10));\n let sum = 0;\n const length = digits.length;\n\n for (let i = 0; i < length; i++) {\n const weight = i === length - 1 ? -1 : length - i;\n sum += digits[i] * weight;\n }\n\n if (sum % 11 !== 0) {\n return {isValid: false, errorKey: `${baseKey}.valueElfCheck`};\n }\n\n return {isValid: true, errorKey: null};\n};\n\nexport {validateBsn};\n","/*\n * Copyright 2015-2025 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\nexport * from './router.utils';\nexport * from './url.utils';\nexport * from './global-notification.utils';\nexport * from './route-params.utils';\nexport * from './display-type.utils';\nexport * from './validate-bsn.utils';\n","/*\n * Copyright 2015-2025 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\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {UrlUtils} from '../utils';\n\nexport abstract class BaseApiService {\n private readonly _valtimoEndpointUri!: string;\n\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n this._valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getApiUrl(urlPart: string): string {\n const urlWithStartSlash = UrlUtils.formatUrlStartWithSlash(urlPart);\n const urlFormattedWithTrailingSlash = `${UrlUtils.formatUrlTrailingSlash(this._valtimoEndpointUri, false)}${urlWithStartSlash}`;\n return urlFormattedWithTrailingSlash;\n }\n}\n","/*\n *\n * * Copyright 2015-2026 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\nimport {InjectionToken, Injector} from '@angular/core';\nimport {Auth} from './security.config';\nimport {MenuConfig} from './menu.config';\nimport {CSPHeaderParams} from 'csp-header';\n\nconst VALTIMO_CONFIG = new InjectionToken<ValtimoConfig>('valtimoConfig');\n\n// eslint-disable-next-line\nconst INITIALIZERS = new InjectionToken<(() => Function)[]>('initializers');\n\ndeclare type Direction = 'ASC' | 'DESC';\n\ninterface DefinitionColumn {\n propertyName: string;\n translationKey: string;\n sortable?: boolean;\n viewType?: string;\n default?: boolean | string;\n enum?: Array<string> | {[key: string]: string};\n title?: string;\n format?: string;\n key?: string;\n tagAmount?: number;\n}\n\ninterface CustomTaskList {\n fields: Array<DefinitionColumn>;\n defaultSortedColumn?: SortState;\n}\n\ninterface CustomLeftSidebar {\n defaultMenuWidth?: number;\n maxMenuWidth?: number;\n minMenuWidth?: number;\n}\n\ninterface Sort {\n name: string;\n direction: Direction;\n}\n\ninterface SortState {\n state: Sort;\n isSorting: boolean;\n}\n\ninterface FormioOptions {\n [key: string]: any;\n}\n\ninterface OverrideFormioOptions extends FormioOptions {\n [key: string]: any;\n}\n\ninterface ValtimoConfigFeatureToggles {\n applicationTitleAsSuffix?: boolean;\n showUserNameInTopBar?: boolean;\n showPlantATreeButton?: boolean;\n disableCaseCount?: boolean;\n caseListColumn?: boolean;\n enableObjectManagement?: boolean;\n largeLogoMargin?: boolean;\n sortFilesByDate?: boolean;\n returnToLastUrlAfterTokenExpiration?: boolean;\n enableTabManagement?: boolean;\n hideValtimoVersionsForNonAdmins?: boolean;\n useStartEventNameAsStartFormTitle?: boolean;\n allowUserThemeSwitching?: boolean;\n enableCompactModeToggle?: boolean;\n compactModeOnByDefault?: boolean;\n enableUserNameInTopBarToggle?: boolean;\n enableFormViewModel?: boolean;\n enableIntermediateSave?: boolean;\n enableTaskPanel?: boolean;\n enableFormFlowBreadcrumbs?: boolean;\n enablePbacDocumentenApiDocuments?: boolean;\n enableSuppressDocumentError?: boolean;\n enableIkoType?: boolean;\n enableGenericCaseList?: boolean;\n menuCollapsedByDefault?: boolean;\n enableOpenSearch?: boolean;\n /**\n * @deprecated DMN decision table editing is always enabled and is no longer gated by a\n * feature toggle. This option is ignored and will be removed in a future major release.\n */\n experimentalDmnEditing?: boolean;\n enableZgwFeatures?: boolean;\n}\n\ninterface ValtimoConfig {\n // eslint-disable-next-line\n logoSvgBase64?: string;\n darkModeLogoSvgBase64?: string;\n logoPngBase64?: string;\n darkModeLogoPngBase64?: string;\n applicationTitle?: string;\n /**@deprecated Initializers will be removed in the future. */\n initializers?: ((injector: Injector) => () => void)[];\n menu: MenuConfig;\n authentication: Auth;\n production: boolean;\n whitelistedDomains: string[];\n langKey?: Language;\n valtimoApi: {\n endpointUri: string;\n };\n changePasswordUrl?: {\n endpointUri: string;\n };\n swagger: {\n endpointUri: string;\n };\n mockApi: {\n endpointUri: string;\n };\n logger: any;\n definitions: any;\n openZaak: {\n catalogus: string;\n };\n uploadProvider: UploadProvider;\n caseFileSizeUploadLimitMB?: number;\n caseFileUploadAcceptedFiles?: string;\n supportedDocumentFileTypesToViewInBrowser?: string[];\n defaultDefinitionTable: Array<DefinitionColumn>;\n translationResources?: Array<string>;\n featureToggles?: ValtimoConfigFeatureToggles;\n visibleTaskListTabs?: Array<TaskListTab>;\n visibleCaseListTabs?: Array<CaseListTab>;\n customTaskList?: CustomTaskList;\n customLeftSidebar?: CustomLeftSidebar;\n caseObjectTypes?: {\n [definitionNameId: string]: Array<string>;\n };\n overrideFeedbackMenuItemToMailTo?: FeedbackMailTo;\n csp?: CSPHeaderParams;\n formioOptions?: OverrideFormioOptions;\n}\n\ninterface FeedbackMailTo {\n email?: string;\n subjectTranslationKey: string;\n bodyTranslationKey: string;\n}\n\nenum UploadProvider {\n S3,\n /**@deprecated This upload provider will be removed in the future. */\n OPEN_ZAAK,\n DOCUMENTEN_API,\n}\n\nenum TaskListTab {\n MINE = 'mine',\n OPEN = 'open',\n ALL = 'all',\n TEAM = 'team',\n}\n\nenum CaseListTab {\n MINE = 'MINE',\n OPEN = 'OPEN',\n ALL = 'ALL',\n TEAM = 'TEAM',\n}\n\nenum Language {\n NL = 'nl',\n EN = 'en',\n}\n\nexport {\n VALTIMO_CONFIG,\n INITIALIZERS,\n Direction,\n DefinitionColumn,\n CustomTaskList,\n CustomLeftSidebar,\n Sort,\n SortState,\n OverrideFormioOptions,\n ValtimoConfigFeatureToggles,\n ValtimoConfig,\n FeedbackMailTo,\n UploadProvider,\n TaskListTab,\n CaseListTab,\n Language,\n};\n","/*\n * Copyright 2015-2025 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\nexport interface EmailNotificationSettings {\n emailNotifications: boolean;\n taskNotifications: boolean;\n emailNotificationOnMonday: boolean;\n emailNotificationOnTuesday: boolean;\n emailNotificationOnWednesday: boolean;\n emailNotificationOnThursday: boolean;\n emailNotificationOnFriday: boolean;\n emailNotificationOnSaturday: boolean;\n emailNotificationOnSunday: boolean;\n}\n","/*\n *\n * Copyright 2015-2026 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\nimport {Observable} from 'rxjs';\n\nenum IncludeFunction {\n ObjectManagementEnabled,\n OpenSearchEnabled,\n ZgwFeaturesEnabled,\n}\n\ninterface MenuItem {\n title: string;\n sequence?: number;\n id?: string;\n link?: string[] | null;\n textClass?: string;\n iconClass?: string;\n children?: MenuItem[];\n roles?: string[];\n show?: boolean;\n count$?: Observable<number>;\n includeFunction?: IncludeFunction | IncludeFunction[];\n}\n\nexport {MenuItem, IncludeFunction};\n","/*\n * Copyright 2015-2025 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\nimport {MenuItem} from './menu-item.model';\n\nexport interface MenuConfig {\n menuItems: MenuItem[];\n}\n","/*\n * Copyright 2015-2025 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\nimport {Observable, ReplaySubject} from 'rxjs';\nimport {EmailNotificationSettings} from './email-notification-settings.model';\nimport {Injector} from '@angular/core';\n\nexport interface UserIdentity {\n email: string;\n firstName: string;\n lastName: string;\n roles: Array<string>;\n username?: string;\n id?: string;\n}\n\nexport class ValtimoUserIdentity implements UserIdentity {\n private readonly _email: string;\n private readonly _firstName: string;\n private readonly _lastName: string;\n private readonly _roles: string[];\n private readonly _username?: string;\n private readonly _id?: string;\n\n constructor(\n email: string,\n firstName: string,\n lastName: string,\n roles: Array<string>,\n username?: string,\n id?: string\n ) {\n this._email = email;\n this._firstName = firstName;\n this._lastName = lastName;\n this._roles = roles;\n this._username = username;\n this._id = id;\n }\n\n get email(): string {\n return this._email;\n }\n\n get firstName(): string {\n return this._firstName;\n }\n\n get lastName(): string {\n return this._lastName;\n }\n\n get roles(): string[] {\n return this._roles;\n }\n\n get username(): string | undefined {\n return this._username;\n }\n\n get id(): string | undefined {\n return this._id;\n }\n}\n\nexport interface UserService {\n getUserSubject(): ReplaySubject<UserIdentity>;\n\n logout(): void;\n\n getToken(): Promise<string>;\n\n updateToken?(minValidity: number): Promise<boolean>;\n}\n\nexport interface EmailNotificationService {\n getEmailNotificationSettings(): Observable<EmailNotificationSettings>;\n\n updateEmailNotificationSettings(\n settings: EmailNotificationSettings\n ): Observable<EmailNotificationSettings>;\n}\n\nexport interface AuthProviders {\n guardServiceProvider: any;\n userServiceProvider: any;\n}\n\nexport interface Auth {\n module: any;\n // eslint-disable-next-line\n initializer: (injector: Injector) => Function;\n authProviders: AuthProviders;\n options: any;\n}\n","/*\n * Copyright 2015-2025 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\nimport {ComponentFactoryResolver, ComponentRef, ViewContainerRef} from '@angular/core';\n\nexport interface ExtensionPoint {\n module: string;\n page: string;\n section: string;\n component: any;\n}\n\nexport class ExtensionLoader {\n private readonly componentFactoryResolver: ComponentFactoryResolver = null;\n private componentRef: ComponentRef<any> = null;\n\n constructor(componentFactoryResolver: ComponentFactoryResolver) {\n this.componentFactoryResolver = componentFactoryResolver;\n }\n\n loadExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n extensionPoint.component\n );\n this.componentRef = viewContainerRef.createComponent(componentFactory);\n }\n\n loadAndClearExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n extensionPoint.component\n );\n viewContainerRef.clear();\n return (this.componentRef = viewContainerRef.createComponent(componentFactory));\n }\n}\n\nexport class Extension {\n public readonly _name: string;\n public readonly _extensionPoint: BasicExtensionPoint;\n\n constructor(name: string, extensionPoint: BasicExtensionPoint) {\n this._name = name;\n this._extensionPoint = extensionPoint;\n }\n\n get extensionPoint(): BasicExtensionPoint {\n return this._extensionPoint;\n }\n}\n\nexport class BasicExtensionPoint implements ExtensionPoint {\n private readonly _module: string;\n private readonly _page: string;\n private readonly _section: string;\n private readonly _component: any;\n\n constructor(module: string, page: string, section: string, component: any) {\n this._module = module;\n this._page = page;\n this._section = section;\n this._component = component;\n }\n\n supports(module: string, page: string, section: string): boolean {\n return this._module === module && this._page === page && this._section === section;\n }\n\n get module(): string {\n return this._module;\n }\n\n get page(): string {\n return this._page;\n }\n\n get section(): string {\n return this._section;\n }\n\n get component(): any {\n return this._component;\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\nimport {HttpClient} from '@angular/common/http';\n\nexport function HttpLoaderFactory(httpClient: HttpClient) {\n return new TranslateHttpLoader(httpClient);\n}\n","/*\n * Copyright 2015-2025 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\nexport const ROLE_ADMIN = 'ROLE_ADMIN';\nexport const ROLE_USER = 'ROLE_USER';\nexport const ROLE_DEVELOPER = 'ROLE_DEVELOPER';\n","/*\n * Copyright 2015-2025 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\nexport interface User {\n id: string;\n fullName: string;\n firstName: string;\n lastName: string;\n email: string;\n roles: Array<string>;\n langKey: string;\n activated: boolean;\n emailVerified: boolean;\n verified: string;\n status: string;\n}\n\nexport interface NamedUser {\n id: string;\n email: string;\n firstName: string;\n lastName: string;\n label: string;\n userName: string;\n}\n","/*\n * Copyright 2015-2025 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\ninterface SortResult {\n sorted: boolean;\n unsorted: boolean;\n}\n\ninterface Pageable {\n sort: SortResult;\n pageSize: number;\n pageNumber: number;\n offset: number;\n unpaged: boolean;\n paged: boolean;\n}\n\ninterface Page<T> {\n content: Array<T>;\n pageable: Pageable;\n last: boolean;\n totalPages: number;\n totalElements: number;\n first: boolean;\n sort: SortResult;\n numberOfElements: number;\n size: number;\n number: number;\n [key: string]: any;\n}\n\nexport {SortResult, Pageable, Page};\n","/*\n * Copyright 2015-2025 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\nimport {SearchFieldMatchType} from '../generated';\n\ntype SearchFieldDataType = 'text' | 'number' | 'date' | 'datetime' | 'boolean' | 'bsn';\n\ntype SearchFieldFieldType =\n | 'single'\n | 'multiple'\n | 'range'\n | 'single-select-dropdown'\n | 'multi-select-dropdown';\n\n\ntype SearchFieldBoolean = 'booleanPositive' | 'booleanNegative';\n\ntype BooleanValueSingle = boolean;\n\ntype TextValueSingle = string;\ntype ValueMultiple = Array<\n BooleanValueSingle | TextValueSingle | NumberValueSingle | NumberValueRange\n>;\n\ntype NumberValueSingle = number;\n\ninterface NumberValueRange {\n start: NumberValueSingle;\n end: NumberValueSingle;\n}\n\ntype SearchFieldValue =\n | BooleanValueSingle\n | TextValueSingle\n | ValueMultiple\n | NumberValueSingle\n | NumberValueRange;\n\ninterface SearchField {\n ownerId?: string;\n title?: string;\n key: string;\n path?: string;\n order?: number;\n dataType: SearchFieldDataType;\n fieldType: SearchFieldFieldType;\n matchType?: SearchFieldMatchType;\n dropdownDataProvider?: string;\n uuid?: string;\n}\n\ninterface SearchFieldWithValue extends SearchField {\n value: SearchFieldValue;\n}\n\ninterface SearchFieldValues {\n [searchFieldKey: string]: SearchFieldValue;\n}\n\ninterface SearchFieldColumnView {\n title: string;\n key: string;\n path: string;\n dataType: string;\n fieldType: string;\n}\n\ntype SearchOperator = 'AND' | 'OR';\n\ntype AssigneeFilter = 'OPEN' | 'MINE' | 'ALL' | 'TEAM';\n\ninterface SearchFilter {\n key: string;\n values: Array<string>;\n multiValue?: boolean;\n}\n\ninterface SearchFilterRange {\n key: string;\n rangeFrom: string;\n rangeTo: string;\n}\n\nexport {\n SearchFieldDataType,\n SearchFieldFieldType,\n SearchFieldMatchType,\n SearchFieldBoolean,\n SearchField,\n SearchFieldValue,\n SearchFieldWithValue,\n SearchFieldValues,\n SearchFieldColumnView,\n SearchOperator,\n SearchFilter,\n SearchFilterRange,\n AssigneeFilter,\n};\n","/*\n * Copyright 2015-2025 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\ninterface Versions {\n frontendLibraries: string;\n}\n\nexport {Versions};\n","/*\n * Copyright 2015-2025 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\ninterface UserSettings {\n collapsibleWidescreenMenu?: boolean;\n languageCode?: string;\n compactMode?: boolean;\n showUserNameInTopBar?: boolean;\n preferredTheme?: string;\n caseListPageSizes?: {[key: string]: number};\n taskListPageSizes?: {[key: string]: number};\n}\n\nexport {UserSettings};\n","/*\n * Copyright 2015-2025 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\ninterface ITranslationResource {\n prefix: string;\n suffix?: string;\n optional?: boolean;\n}\n\nexport {ITranslationResource};\n","/*\n * Copyright 2015-2025 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\ntype LocalizationContent = object;\n\ninterface Localization {\n languageKey: string;\n content: LocalizationContent;\n}\n\ninterface MergedLocalizations {\n [languageKey: string]: LocalizationContent;\n}\n\nexport {Localization, LocalizationContent, MergedLocalizations};\n","/*\n * Copyright 2015-2025 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\nimport {Type} from '@angular/core';\n\ninterface FormViewModel {\n component: Type<any>;\n}\n\nexport {FormViewModel};\n","/*\n * Copyright 2015-2025 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\nimport {editor} from 'monaco-editor';\n\ntype MonacoEditor = typeof editor;\n\ninterface ValtimoWindow extends Window {\n monaco?: {\n editor?: MonacoEditor;\n };\n flags?: {\n formioValueResolverSelectorComponentRegistered: boolean;\n };\n}\n\nexport {ValtimoWindow};\n","/*\n * Copyright 2015-2025 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\ntype ManagementContext = 'case' | 'independent' | 'buildingBlock';\n\nexport {ManagementContext};\n","/*\n * Copyright 2015-2025 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\nexport enum TagColor {\n WarmGray = 'WARMGRAY',\n Red = 'RED',\n Magenta = 'MAGENTA',\n Purple = 'PURPLE',\n Blue = 'BLUE',\n Cyan = 'CYAN',\n Teal = 'TEAL',\n Green = 'GREEN',\n Gray = 'GRAY',\n CoolGray = 'COOLGRAY',\n HighContrast = 'HIGHCONTRAST',\n Outline = 'OUTLINE',\n}\n","/*\n * Copyright 2015-2025 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\ninterface GlobalConfiguration {\n canUpdateGlobalConfiguration: boolean;\n}\n\nexport {GlobalConfiguration};\n","/*\n * Copyright 2015-2025 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\ntype ModalMode = 'add' | 'edit' | 'delete' | 'duplicate';\n\ntype ModalCloseEvent = 'close' | 'closeAndRefresh';\n\nexport {ModalMode, ModalCloseEvent};\n","/*\n * Copyright 2015-2025 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\ninterface DisplayType {\n type: string;\n displayTypeParameters: DisplayTypeParameters;\n}\n\ninterface DisplayTypeParameters {\n enum?: {\n [key: string]: string;\n };\n dateFormat?: string;\n tagAmount?: number;\n}\n\nexport {DisplayTypeParameters, DisplayType};\n","/*\n * Copyright 2015-2025 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\nimport {Type} from '@angular/core';\nimport {Observable} from 'rxjs';\n\ninterface BuildingBlockManagementParams {\n buildingBlockDefinitionKey: string;\n buildingBlockDefinitionVersionTag: string;\n}\n\ninterface BuildingBlockManagementTabConfig {\n translationKey: string;\n component: Type<any>;\n tabRoute: string;\n enabled$?: Observable<boolean>;\n}\n\nexport {BuildingBlockManagementParams, BuildingBlockManagementTabConfig};\n","/*\n * Copyright 2015-2025 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\nexport * from './config';\nexport * from './email-notification-settings.model';\nexport * from './menu-item.model';\nexport * from './menu.config';\nexport * from './security.config';\nexport * from './extension.model';\nexport * from './http-loader';\nexport * from './roles';\nexport * from './user-management.model';\nexport * from './page';\nexport * from './search.model';\nexport * from './versions.model';\nexport * from './user-settings.model';\nexport * from './translation.model';\nexport * from './localization.model';\nexport * from './form-view-model.model';\nexport * from './window.model';\nexport * from './management.model';\nexport * from './tag-color.model';\nexport * from './global-configuration.model';\nexport * from './case-management.model';\nexport * from './modal.model';\nexport * from './display-type.model';\nexport * from './building-block-management.model';\n","/*\n * Copyright 2015-2025 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\nimport {ComponentFactoryResolver, Inject, Injectable, ViewContainerRef} from '@angular/core';\nimport {\n Extension,\n ExtensionLoader,\n ExtensionPoint,\n VALTIMO_CONFIG,\n ValtimoConfig,\n ValtimoConfigFeatureToggles,\n} from '../models';\nimport {UrlUtils} from '../utils';\nimport {BehaviorSubject, distinctUntilChanged, map, Observable} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService {\n private readonly extensionLoader: ExtensionLoader;\n private readonly extensions: Array<Extension> = [];\n private readonly DEFAULT_APPLICATION_TITLE = 'Valtimo';\n\n private readonly _featureToggles$ = new BehaviorSubject<ValtimoConfigFeatureToggles>(\n this.valtimoConfig?.featureToggles ?? ({} as ValtimoConfigFeatureToggles)\n );\n\n public readonly featureToggles$: Observable<ValtimoConfigFeatureToggles> =\n this._featureToggles$.asObservable();\n\n constructor(\n @Inject(VALTIMO_CONFIG) private valtimoConfig: ValtimoConfig,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {\n this.extensionLoader = new ExtensionLoader(componentFactoryResolver);\n }\n\n public get config(): ValtimoConfig {\n const config = this.valtimoConfig;\n const translationResourcesConfig = config.translationResources;\n\n return {\n ...config,\n initializers: config.initializers || [],\n whitelistedDomains: config.whitelistedDomains.map(domain =>\n UrlUtils.formatUrlTrailingSlash(domain, false)\n ),\n mockApi: {\n ...config.mockApi,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.mockApi.endpointUri, true),\n },\n swagger: {\n ...config.swagger,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.swagger.endpointUri, false),\n },\n valtimoApi: {\n ...config.valtimoApi,\n endpointUri: UrlUtils.formatUrlTrailingSlash(config.valtimoApi.endpointUri, true),\n },\n ...(translationResourcesConfig && {\n translationResources: translationResourcesConfig.map(resource =>\n UrlUtils.formatUrlTrailingSlash(resource, true)\n ),\n }),\n applicationTitle: config.applicationTitle || this.DEFAULT_APPLICATION_TITLE,\n };\n }\n\n public get featureToggles(): ValtimoConfigFeatureToggles {\n return this._featureToggles$.value;\n }\n\n public get config$(): Observable<ValtimoConfig> {\n return this._featureToggles$.pipe(\n map(featureToggles => ({...this.config, featureToggles}))\n );\n }\n\n public get initializers() {\n return this.valtimoConfig?.initializers || [];\n }\n\n public addExtension(extension: Extension) {\n return this.extensions.push(extension);\n }\n\n public getSupportedExtensionPoint(module: string, page: string, section: string) {\n return this.extensions.find(extension =>\n extension.extensionPoint.supports(module, page, section)\n );\n }\n\n public getSupportedExtensionPoints(module: string, page: string, section: string) {\n return this.extensions.filter(extension =>\n extension.extensionPoint.supports(module, page, section)\n );\n }\n\n public loadExtensionPoint(viewContainerRef: ViewContainerRef, extensionPoint: ExtensionPoint) {\n this.extensionLoader.loadExtensionPoint(viewContainerRef, extensionPoint);\n }\n\n public loadAndReturnExtensionPoint(\n viewContainerRef: ViewContainerRef,\n extensionPoint: ExtensionPoint\n ) {\n return this.extensionLoader.loadAndClearExtensionPoint(viewContainerRef, extensionPoint);\n }\n\n public getFeatureToggleObservable(\n featureToggle: keyof ValtimoConfigFeatureToggles,\n defaultValue = false\n ): Observable<boolean> {\n return this.featureToggles$.pipe(\n map(featureToggles =>\n featureToggles?.hasOwnProperty(featureToggle)\n ? !!featureToggles[featureToggle]\n : defaultValue\n ),\n distinctUntilChanged()\n );\n }\n\n public getFeatureToggle(featureToggle: keyof ValtimoConfigFeatureToggles): boolean {\n return !!(this.featureToggles && this.featureToggles[featureToggle]);\n }\n\n public patchFeatureToggles(overrides: Partial<ValtimoConfigFeatureToggles>): void {\n const merged = {\n ...this._featureToggles$.value,\n ...overrides,\n };\n this.valtimoConfig = {\n ...this.valtimoConfig,\n featureToggles: merged,\n };\n this._featureToggles$.next(merged as ValtimoConfigFeatureToggles);\n }\n}\n","/*\n * Copyright 2015-2025 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 */\nimport {ComponentRef, EventEmitter, Injectable} from '@angular/core';\nimport {\n ActionableContent,\n ActionableNotification,\n Notification,\n NotificationContent,\n NotificationService,\n Toast,\n ToastContent,\n} from 'carbon-components-angular';\nimport {take} from 'rxjs';\nimport {getNotificationObject} from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GlobalNotificationService {\n private _notificationService: NotificationService | null = null;\n private readonly _notificationQueue: (Notification & {id: string})[] = [];\n\n public setNotificationService(service: NotificationService): void {\n this._notificationService = service;\n }\n\n public getNotificationService(): NotificationService | null {\n return this._notificationService;\n }\n\n public showNotification(\n notificationObj: NotificationContent | ToastContent | ActionableContent,\n notificationComp: typeof Notification = Notification\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showNotification(\n getNotificationObject(notificationObj),\n notificationComp\n )\n );\n }\n\n public showToast(\n notificationObj: NotificationContent | ToastContent,\n notificationComp: typeof Toast = Toast\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showToast(getNotificationObject(notificationObj), notificationComp)\n );\n }\n\n public showActionable(\n notificationObj: ActionableContent,\n notificationComp: typeof ActionableNotification = ActionableNotification\n ): Notification | null {\n if (!this._notificationService) return null;\n\n return this.handleNotificationRef(\n this._notificationService?.showActionable(\n getNotificationObject(notificationObj),\n notificationComp\n )\n );\n }\n\n public close(notificationRef: any): void {\n notificationRef.close.emit();\n }\n\n public getSmartTimeout(notificationObj: any): number | null {\n if (!this._notificationService) return null;\n return this._notificationService?.getSmartTimeout(notificationObj);\n }\n\n public getNotificationRefs(): ComponentRef<any>[] | null {\n if (!this._notificationService) return null;\n return this._notificationService?.notificationRefs;\n }\n\n public getOnCloseEmitter(): EventEmitter<any> | null {\n if (!this._notificationService) return null;\n return this._notificationService?.onClose;\n }\n\n public ngOnDestroy(): void {\n this._notificationService?.ngOnDestroy();\n this._notificationQueue.splice(0, this._notificationQueue.length);\n }\n\n private handleNotificationRef(notificationRef: any): Notification | null {\n const notification = {\n ...notificationRef,\n id:\n notificationRef.toastID ??\n notificationRef.notificationID ??\n notificationRef.actionableNotificationID,\n };\n\n if (this._notificationQueue.length > 3) {\n this._notificationQueue.splice(0, 1);\n this.close(notificationRef);\n }\n\n this._notificationQueue.push(notification);\n setTimeout(() => this.removeNotificationInQueue(notification.id), 4000);\n\n notificationRef.close\n .pipe(take(1))\n .subscribe(() => this.removeNotificationInQueue(notification.id));\n\n return notificationRef;\n }\n\n private removeNotificationInQueue(id: string): void {\n const index = this._notificationQueue.findIndex(\n (notification: Notification & {id: string}) => notification.id === id\n );\n if (index === -1) return;\n\n this._notificationQueue.splice(index, 1);\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {Injectable} from '@angular/core';\nimport {Localization, LocalizationContent, MergedLocalizations} from '../models';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {map, Observable, of} from 'rxjs';\nimport {catchError} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalizationService {\n private readonly valtimoApiUri!: string;\n\n constructor(\n private readonly http: HttpClient,\n private readonly configService: ConfigService\n ) {\n this.valtimoApiUri = configService?.config?.valtimoApi?.endpointUri;\n }\n\n public getLocalization(languageKey: string): Observable<LocalizationContent> {\n return this.http\n .get<LocalizationContent>(`${this.valtimoApiUri}v1/localization/${languageKey}`, {\n headers: new HttpHeaders().set('X-Skip-Interceptor', '403'),\n })\n .pipe(catchError(() => of({})));\n }\n\n public getLocalizations(): Observable<Localization[]> {\n return this.http.get<Localization[]>(`${this.valtimoApiUri}v1/localization`);\n }\n\n public getMergedLocalizations(): Observable<MergedLocalizations> {\n return this.getLocalizations().pipe(\n map(res => res.reduce((acc, curr) => ({...acc, [curr.languageKey]: curr.content}), {}))\n );\n }\n\n public updateLocalization(\n languageKey: string,\n updatedLocalizationContent: LocalizationContent\n ): Observable<LocalizationContent> {\n return this.http.put<LocalizationContent>(\n `${this.valtimoApiUri}management/v1/localization/${languageKey}`,\n updatedLocalizationContent\n );\n }\n\n public updateLocalizations(updatedLocalizations: Localization[]): Observable<Localization[]> {\n return this.http.put<Localization[]>(\n `${this.valtimoApiUri}management/v1/localization`,\n updatedLocalizations\n );\n }\n}\n","/*\n * Copyright 2015-2026 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\nimport {Injectable} from '@angular/core';\nimport {IncludeFunction} from '../models';\nimport {ConfigService} from './config.service';\nimport {combineLatest, map, Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MenuIncludeService {\n constructor(private readonly configService: ConfigService) {}\n\n getIncludeFunctionObservable(\n includeFunction: IncludeFunction | IncludeFunction[]\n ): Observable<boolean> {\n if (Array.isArray(includeFunction)) {\n if (includeFunction.length === 0) {\n return of(true);\n }\n const observables = includeFunction.map(fn => this.getSingleIncludeFunction(fn));\n return combineLatest(observables).pipe(map(results => results.every(result => result)));\n }\n return this.getSingleIncludeFunction(includeFunction);\n }\n\n private getSingleIncludeFunction(includeFunction: IncludeFunction): Observable<boolean> {\n switch (includeFunction) {\n case IncludeFunction.ObjectManagementEnabled:\n return this.configService.getFeatureToggleObservable('enableObjectManagement', true);\n case IncludeFunction.OpenSearchEnabled:\n return this.configService.getFeatureToggleObservable('enableOpenSearch', false);\n case IncludeFunction.ZgwFeaturesEnabled:\n return this.configService.getFeatureToggleObservable('enableZgwFeatures', false);\n default:\n return of(true);\n }\n }\n\n /**\n * @deprecated Use getIncludeFunctionObservable instead\n */\n getIncludeFunction(includeFunction: IncludeFunction): Observable<boolean> {\n return this.getSingleIncludeFunction(includeFunction);\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {Injectable} from '@angular/core';\nimport {UserSettings} from '../models';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {Observable} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserSettingsService {\n private readonly valtimoApiUri!: string;\n\n constructor(\n private readonly http: HttpClient,\n private readonly configService: ConfigService\n ) {\n this.valtimoApiUri = configService?.config?.valtimoApi?.endpointUri;\n }\n\n getUserSettings(): Observable<UserSettings> {\n return this.http.get<UserSettings>(`${this.valtimoApiUri}v1/user/settings`);\n }\n\n saveUserSettings(settings: UserSettings): Observable<any> {\n return this.http.put(`${this.valtimoApiUri}v1/user/settings`, settings);\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {Versions} from '../models';\n\nconst VERSIONS: Versions = {\n frontendLibraries: '13.39.0',\n};\n\nexport {VERSIONS};\n","/*\n * Copyright 2015-2025 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\nimport {InjectionToken} from '@angular/core';\nimport {CaseManagementTabConfig} from '../models';\n\nconst CASE_MANAGEMENT_TAB_TOKEN = new InjectionToken<CaseManagementTabConfig>(\n 'Specify a component to display per configured tab translation key.'\n);\n\nexport {CASE_MANAGEMENT_TAB_TOKEN};\n","/*\n * Copyright 2015-2025 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\nimport {InjectionToken} from '@angular/core';\nimport {FormViewModel} from '../models';\n\nconst FORM_VIEW_MODEL_TOKEN = new InjectionToken<FormViewModel>(\n 'Specify the form view model component.'\n);\n\nexport {FORM_VIEW_MODEL_TOKEN};\n","/*\n * Copyright 2015-2025 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\nimport {HttpHeaders} from '@angular/common/http';\n\nconst InterceptorSkip = 'X-Skip-Interceptor';\nconst InterceptorSkipHeader = new HttpHeaders().set(InterceptorSkip, 'all');\n\nexport {InterceptorSkip, InterceptorSkipHeader};\n","/*\n * Copyright 2015-2025 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\nimport {InjectionToken, Type} from '@angular/core';\n\nconst CASE_CONFIGURATION_EXTENSIONS_TOKEN = new InjectionToken<Type<any>[]>(\n 'Specify components to display on on the case management general page.'\n);\n\nexport {CASE_CONFIGURATION_EXTENSIONS_TOKEN};\n","/*\n * Copyright 2015-2025 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\nimport {InjectionToken} from '@angular/core';\n\nconst IKO_TOKEN = new InjectionToken<boolean>('IKO is enabled when this token is provided');\n\nexport {IKO_TOKEN};\n","/*\n * Copyright 2015-2026 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\nimport {InjectionToken} from '@angular/core';\nimport {BuildingBlockManagementTabConfig} from '../models';\n\nconst BUILDING_BLOCK_MANAGEMENT_TAB_TOKEN = new InjectionToken<BuildingBlockManagementTabConfig[]>(\n 'Specify components to display as tabs on the building block management detail page.'\n);\n\nexport {BUILDING_BLOCK_MANAGEMENT_TAB_TOKEN};\n","/*\n * Copyright 2015-2025 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\nexport * from './versions';\nexport * from './case-management-tab-token';\nexport * from './form-view-model-token';\nexport * from './error.constants';\nexport * from './case-configuration-extensions-token';\nexport * from './iko.token';\nexport * from './building-block-management-tab-token';\n","/*\n * Copyright 2015-2025 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\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {map, Observable, of} from 'rxjs';\nimport {ConfigService} from './config.service';\nimport {BaseApiService} from './base-api.service';\nimport {GlobalConfiguration} from '../models';\nimport {catchError} from 'rxjs/operators';\nimport {InterceptorSkip} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EnvironmentService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public canUpdateGlobalConfiguration(): Observable<boolean> {\n return this.httpClient\n .get<GlobalConfiguration>(this.getApiUrl('management/v1/case-definition/check'), {\n headers: new HttpHeaders().set(InterceptorSkip, '404'),\n })\n .pipe(\n map(response => response.canUpdateGlobalConfiguration),\n catchError(() => of(true))\n );\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {map, Observable, of} from 'rxjs';\nimport {ConfigService} from './config.service';\nimport {BaseApiService} from './base-api.service';\nimport {InterceptorSkip} from '../constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DraftVersionService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public isDraftVersion(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string\n ): Observable<boolean> {\n if (!caseDefinitionKey || !caseDefinitionVersionTag) {\n return of(false);\n }\n\n return this.httpClient\n .get<any>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}`\n ),\n {\n headers: new HttpHeaders().set(InterceptorSkip, '403'),\n }\n )\n .pipe(map(caseDefinition => !caseDefinition.final));\n }\n\n public isDraftVersionBuildingBlock(\n buildingBlockDefinitionKey: string,\n buildingBlockDefinitionVersionTag: string\n ): Observable<boolean> {\n if (!buildingBlockDefinitionKey || !buildingBlockDefinitionVersionTag) {\n return of(false);\n }\n\n return this.httpClient\n .get<any>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockDefinitionKey}/version/${buildingBlockDefinitionVersionTag}`\n ),\n {\n headers: new HttpHeaders().set(InterceptorSkip, '403'),\n }\n )\n .pipe(map(buildingBlockDefinition => !buildingBlockDefinition.final));\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {BaseApiService} from './base-api.service';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from './config.service';\nimport {combineLatest, map, Observable, of} from 'rxjs';\nimport {EnvironmentService} from './environment.service';\nimport {DraftVersionService} from './draft-version.service';\nimport {Injectable} from '@angular/core';\nimport {BuildingBlockManagementParams, CaseManagementParams} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EditPermissionsService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService,\n public readonly environmentService: EnvironmentService,\n public readonly draftVersionService: DraftVersionService\n ) {\n super(httpClient, configService);\n }\n\n public hasEditPermissions(\n caseDefinitionKey: string,\n caseDefinitionVersionTag: string\n ): Observable<boolean> {\n return combineLatest([\n this.environmentService.canUpdateGlobalConfiguration(),\n this.draftVersionService.isDraftVersion(caseDefinitionKey, caseDefinitionVersionTag),\n ]).pipe(map(([canUpdate, isDraftVersion]) => canUpdate && isDraftVersion));\n }\n\n public hasPermissionsToEditBasedOnContext(\n params: CaseManagementParams | BuildingBlockManagementParams,\n context: string\n ): Observable<boolean> {\n if (context === 'case') {\n const caseManagementParams = params as CaseManagementParams;\n return this.hasEditPermissions(\n caseManagementParams.caseDefinitionKey,\n caseManagementParams.caseDefinitionVersionTag\n );\n } else if (context === 'independent') {\n return this.environmentService.canUpdateGlobalConfiguration();\n } else if (context === 'buildingBlock') {\n return of(true);\n }\n return of(false);\n }\n}\n","/*\n * Copyright 2015-2026 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\nimport {Injectable} from '@angular/core';\nimport {BehaviorSubject, map, Observable} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigurationIssueService {\n private readonly _unresolvedIssueTypes$ = new BehaviorSubject<Set<string>>(new Set());\n\n public setUnresolvedIssueTypes(issueTypes: string[]): void {\n this._unresolvedIssueTypes$.next(new Set(issueTypes));\n }\n\n public readonly hasAnyIssues$: Observable<boolean> = this._unresolvedIssueTypes$.pipe(\n map(types => types.size > 0)\n );\n\n public hasIssue$(issueType: string): Observable<boolean> {\n return this._unresolvedIssueTypes$.pipe(map(types => types.has(issueType)));\n }\n\n public hasAnyOfIssues$(issueTypes: string[]): Observable<boolean> {\n return this._unresolvedIssueTypes$.pipe(map(types => issueTypes.some(t => types.has(t))));\n }\n}\n","/*\n * Copyright 2015-2026 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\nexport * from './base-api.service';\nexport * from './config.service';\nexport * from './global-notification.service';\nexport * from './localization.service';\nexport * from './menu-include.service';\nexport * from './user-settings.service';\nexport * from './environment.service';\nexport * from './draft-version.service';\nexport * from './edit-permissions.service';\nexport * from './configuration-issue.service';\n","/*\n * Copyright 2015-2025 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 */\nimport {CommonModule} from '@angular/common';\nimport {Component, OnInit} from '@angular/core';\nimport {NotificationService} from 'carbon-components-angular';\nimport {GlobalNotificationService} from '../services';\n\n@Component({\n selector: 'valtimo-global-notification',\n template: ``,\n styles: `\n ::ng-deep.cds--toast-notification {\n width: 100%;\n }\n `,\n providers: [NotificationService],\n standalone: true,\n imports: [CommonModule],\n})\nexport class GlobalNotificationComponent implements OnInit {\n constructor(\n private readonly globalNotificationService: GlobalNotificationService,\n private readonly notificationService: NotificationService\n ) {}\n\n public ngOnInit(): void {\n this.globalNotificationService.setNotificationService(this.notificationService);\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {Component, Input, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {ConfigService} from '../services/config.service';\nimport {Extension, ExtensionLoader, ExtensionPoint} from '../models';\n\n@Component({\n selector: 'valtimo-extension',\n templateUrl: './extension.component.html',\n styleUrls: ['./extension.component.css'],\n standalone: false,\n})\nexport class ExtensionComponent implements OnInit {\n public extensionLoader: ExtensionLoader = null;\n public selectedExtensionPoint: ExtensionPoint;\n public supportedExtensions: Array<Extension>;\n @Input() public module: string;\n @Input() public page: string;\n @Input() public section: string;\n @ViewChild('injectExtension', {read: ViewContainerRef, static: true})\n viewContainerRef: ViewContainerRef;\n\n constructor(private configService: ConfigService) {}\n\n ngOnInit() {\n this.configService\n .getSupportedExtensionPoints(this.module, this.page, this.section)\n .forEach(extension => {\n this.configService.loadExtensionPoint(this.viewContainerRef, extension.extensionPoint);\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 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<ng-template #injectExtension></ng-template>\n","/*\n * Copyright 2015-2025 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\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {ConfigService} from './services/config.service';\nimport {VALTIMO_CONFIG, ValtimoConfig} from './models';\nimport {ExtensionComponent} from './extension/extension.component';\n\n@NgModule({\n declarations: [ExtensionComponent],\n imports: [],\n exports: [ExtensionComponent],\n})\nexport class ConfigModule {\n static forRoot(config: ValtimoConfig): ModuleWithProviders<ConfigModule> {\n return {\n ngModule: ConfigModule,\n providers: [\n ConfigService,\n {\n provide: VALTIMO_CONFIG,\n useValue: config,\n },\n ],\n };\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {Injectable} from '@angular/core';\nimport {Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockTranslateService {\n public stream(key: string): Observable<any> {\n return of(null);\n }\n\n public instant(key: string): string {\n return '';\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {Injectable} from '@angular/core';\nimport {Observable, of} from 'rxjs';\nimport {KeycloakProfile} from 'keycloak-js';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockKeycloakService {\n public get keycloakEvents$(): Observable<{type: string}> {\n return of({type: ''});\n }\n\n public isLoggedIn(): Observable<boolean> {\n return of(true);\n }\n\n private readonly MOCK_USER_PROFILE: KeycloakProfile = {\n id: '',\n username: '',\n email: '',\n firstName: '',\n lastName: '',\n enabled: true,\n emailVerified: true,\n totp: true,\n createdTimestamp: 0,\n };\n\n public async loadUserProfile(): Promise<KeycloakProfile> {\n return this.MOCK_USER_PROFILE;\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockIconService {\n public registerAll(value: Array<any>): void {\n return;\n }\n}\n","/*\n * Copyright 2015-2025 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\nexport * from './mock-translate.service';\nexport * from './mock-keycloak.service';\nexport * from './mock-icon.service';\n","/*\n * Copyright 2015-2025 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\nexport * from './services';\n","/*\n * Copyright 2015-2025 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\nimport {HttpBackend, HttpClient} from '@angular/common/http';\nimport {catchError, map, switchMap} from 'rxjs/operators';\nimport {combineLatest, forkJoin, Observable, of} from 'rxjs';\nimport {deepmerge} from 'deepmerge-ts';\nimport {ITranslationResource} from '../models';\nimport {TranslateLoader} from '@ngx-translate/core';\nimport {LocalizationService} from '../services/localization.service';\n\nexport class CustomMultiTranslateHttpLoader implements TranslateLoader {\n private readonly _handler: HttpBackend;\n private readonly _httpClient: HttpClient;\n private readonly _resourcesPrefix: Array<string> | ITranslationResource[];\n private readonly _localizationService: LocalizationService;\n constructor(\n _handler: HttpBackend,\n _httpClient: HttpClient,\n _localizationService: LocalizationService,\n _resourcesPrefix: Array<string> | ITranslationResource[]\n ) {\n this._handler = _handler;\n this._httpClient = _httpClient;\n this._resourcesPrefix = _resourcesPrefix;\n this._localizationService = _localizationService;\n }\n getTranslation(lang: string): Observable<any> {\n const requests = this._resourcesPrefix.map(resource => {\n let path;\n if (resource.prefix) path = `${resource.prefix}${lang}${resource.suffix || '.json'}`;\n else path = `${resource}${lang}.json`;\n return new HttpClient(this._handler).get(path).pipe(\n catchError(res => {\n if (!resource.optional) {\n console.group();\n console.error('Something went wrong for the following translation file:', path);\n console.error(res);\n console.groupEnd();\n }\n return of({});\n })\n );\n });\n\n return forkJoin(requests).pipe(\n switchMap(localResourcesResponse =>\n combineLatest([of(localResourcesResponse), this._localizationService.getLocalization(lang)])\n ),\n map(([localResourcesResponse, localizationResponse]) =>\n deepmerge(...[...localResourcesResponse, localizationResponse])\n )\n );\n }\n}\n","/*\n * Copyright 2015-2025 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\nimport {HttpBackend, HttpClient} from '@angular/common/http';\nimport {ConfigService} from '../services/config.service';\nimport {CustomMultiTranslateHttpLoader} from './custom-multi-translate-http-loader';\nimport {LocalizationService} from '../services/localization.service';\n\nexport function CustomMultiTranslateHttpLoaderFactory(\n http: HttpBackend,\n httpClient: HttpClient,\n configService: ConfigService,\n localizationService: LocalizationService\n) {\n const translationResources = configService?.config?.translationResources;\n\n return new CustomMultiTranslateHttpLoader(http, httpClient, localizationService, [\n './valtimo-translation/core/',\n ...(translationResources &&\n Array.isArray(translationResources) &&\n translationResources.length > 0\n ? translationResources\n : []),\n ]);\n}\n","/*\n * Copyright 2015-2025 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\nimport {HttpBackend} from '@angular/common/http';\nimport {MultiTranslateHttpLoader} from 'ngx-translate-multi-http-loader';\nimport {ConfigService} from '../services/config.service';\n\nexport function MultiTranslateHttpLoaderFactory(http: HttpBackend, configService: ConfigService) {\n const translationResources = configService.config.translationResources;\n\n return new MultiTranslateHttpLoader(http, [\n './valtimo-translation/core/',\n ...(translationResources &&\n Array.isArray(translationResources) &&\n translationResources.length > 0\n ? translationResources\n : []),\n ]);\n}\n","/*\n * Copyright 2015-2025 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\nexport * from './custom-multi-translate-http-loader';\nexport * from './custom-multi-translate-http-loader-factory';\nexport * from './multi-translate-http-loader-factory';\n","/*\n * Copyright 2015-2025 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\nimport {InjectionToken, Type} from '@angular/core';\n\nconst ZGW_OBJECT_TYPE_COMPONENT_TOKEN = new InjectionToken<Type<any>>(\n 'Specify a component to display ZGW object types.'\n);\n\nexport {ZGW_OBJECT_TYPE_COMPONENT_TOKEN};\n","/*\n * Copyright 2015-2025 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\nimport {InjectionToken, Type} from '@angular/core';\n\nconst ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN = new InjectionToken<Type<any>>(\n 'Specify a component to display on documents tab when Documenten API is set as the upload provider in the environment file.'\n);\n\nexport {ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN};\n","/*\n * Copyright 2015-2025 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\nexport * from './zgw-object-type-component-token';\nexport * from './zgw-documenten-api-documents-component-token';\n","/*\n * Copyright 2015-2025 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\nexport * from './constants';\n","/*\n * Copyright 2015-2026 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\nimport {inject} from '@angular/core';\nimport {CanActivateFn, Router} from '@angular/router';\nimport {ConfigService} from '../services';\n\nexport const zgwFeaturesGuard: CanActivateFn = () => {\n const configService = inject(ConfigService);\n const router = inject(Router);\n\n const enabled = configService.featureToggles?.enableZgwFeatures !== false;\n\n if (!enabled) {\n return router.createUrlTree(['/']);\n }\n\n return true;\n};\n","/*\n * Copyright 2015-2026 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\nexport * from './zgw-features.guard';\n","/* tslint:disable */\n/* eslint-disable */\n// Generated using typescript-generator version 3.2.1263 on 2026-04-28 11:17:58.\n\nexport interface PbacConditionFieldDto {\n name: string;\n type: string;\n}\n\nexport interface PbacConditionTypeDto {\n key: string;\n}\n\nexport interface PbacEntityMapperDto {\n fromResourceType: string;\n toResourceType: string;\n}\n\nexport interface PbacFieldAliasDto {\n alias: string;\n field: string;\n}\n\nexport interface PbacOperatorDto {\n key: string;\n}\n\nexport interface PbacRegistryDto {\n resources: PbacResourceDto[];\n operators: PbacOperatorDto[];\n conditionTypes: PbacConditionTypeDto[];\n entityMappers: PbacEntityMapperDto[];\n roles: string[];\n}\n\nexport interface PbacResourceDto {\n resourceType: string;\n shortName: string;\n actions: string[];\n fields: PbacConditionFieldDto[];\n fieldAliases: PbacFieldAliasDto[];\n hasSpecificationFactory: boolean;\n containerTargets: string[];\n}\n\nexport interface AdminSettingsLogoDto {\n logoType: string;\n imageBase64: string;\n}\n\nexport interface AdminSettingsLogosDto {\n logo: AdminSettingsLogoDto | null;\n logoDarkMode: AdminSettingsLogoDto | null;\n}\n\nexport interface CreateAdminSettingsLogoDto {\n imageBase64: string;\n}\n\nexport interface BuildingBlockDefinitionArtworkDto {\n key: string;\n versionTag: string;\n imageBase64: string;\n}\n\nexport interface BuildingBlockDefinitionDto {\n key: string;\n versionTag: string;\n name: string;\n description: string | null;\n createdBy: string | null;\n createdDate: DateAsString | null;\n basedOnVersionTag: string | null;\n final: boolean;\n imageBase64: string | null;\n}\n\nexport interface BuildingBlockFormDefinitionDto {\n id: string;\n name: string;\n formDefinition: any;\n readOnly: boolean;\n}\n\nexport interface BuildingBlockProcessDefinitionDto {\n id: string;\n key: string;\n name: string | null;\n versionTag: string | null;\n main: boolean;\n draft: boolean;\n}\n\nexport interface BuildingBlockProcessDefinitionWithLinksDto {\n processDefinition: ProcessDefinitionWithPropertiesDto;\n processLinks: ProcessLinkResponseDto[];\n bpmn20Xml: string;\n draft: boolean;\n}\n\nexport interface BuildingBlockVersionDto {\n versionTag: string;\n final: boolean;\n}\n\nexport interface CaseDefinitionBuildingBlockLinkDto {\n id: string;\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n buildingBlockDefinitionKey: string;\n buildingBlockDefinitionVersionTag: string;\n inputMappings: BuildingBlockInputMapping[];\n outputMappings: BuildingBlockOutputMapping[];\n pluginConfigurationMappings: { [index: string]: string };\n}\n\nexport interface CreateBuildingBlockDefinitionArtworkDto {\n imageBase64: string;\n}\n\nexport interface CreateBuildingBlockDefinitionDto {\n key: string;\n versionTag: string;\n name: string;\n description: string | null;\n}\n\nexport interface CreateBuildingBlockDraftDto {\n versionTag: string;\n}\n\nexport interface CreateBuildingBlockFormDefinitionDto {\n name: string;\n formDefinition: string;\n readOnly: boolean | null;\n}\n\nexport interface CreateCaseDefinitionBuildingBlockLinkDto {\n buildingBlockDefinitionKey: string;\n buildingBlockDefinitionVersionTag: string;\n inputMappings: BuildingBlockInputMapping[];\n outputMappings: BuildingBlockOutputMapping[];\n pluginConfigurationMappings: { [index: string]: string };\n}\n\nexport interface UpdateBuildingBlockDefinitionArtworkDto {\n imageBase64: string;\n}\n\nexport interface UpdateBuildingBlockDefinitionDto {\n name: string;\n description: string | null;\n}\n\nexport interface UpdateBuildingBlockFormDefinitionDto {\n name: string;\n formDefinition: string;\n}\n\nexport interface UpdateCaseDefinitionBuildingBlockLinkDto {\n inputMappings: BuildingBlockInputMapping[];\n outputMappings: BuildingBlockOutputMapping[];\n pluginConfigurationMappings: { [index: string]: string };\n}\n\nexport interface CaseDefinitionCheckResponse {\n canUpdateGlobalConfiguration: boolean;\n}\n\nexport interface CaseDefinitionConfigurationIssueDto {\n id: string;\n issueType: string;\n resolved: boolean;\n createdAt: DateAsString;\n resolvedAt: DateAsString | null;\n}\n\nexport interface CaseDefinitionDraftCreateRequest {\n caseDefinitionKey: string;\n caseDefinitionVersion: string;\n name: string | null;\n description: string | null;\n basedOnCaseDefinitionVersion: string | null;\n caseDefinitionId: CaseDefinitionId;\n basedOnCaseDefinitionId: CaseDefinitionId | null;\n}\n\nexport interface CaseDefinitionImportPreviewResponse {\n key: string;\n name: string;\n versionTag: string;\n final: boolean;\n}\n\nexport interface CaseDefinitionImportResponse {\n caseDefinitionId: CaseDefinitionId | null;\n}\n\nexport interface CaseDefinitionQuickSearchDto {\n queryPath: string;\n title: string;\n}\n\nexport interface CaseDefinitionResponseDto {\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n name: string;\n description: string | null;\n createdBy: string | null;\n createdDate: DateAsString | null;\n basedOnVersionTag: string | null;\n final: boolean;\n active: boolean;\n canHaveAssignee: boolean;\n autoAssignTasks: boolean;\n hasExternalStartForm: boolean | null;\n externalStartFormUrl: string | null;\n externalStartFormDescription: string | null;\n conflictingVersions: string | null;\n hasConfigurationIssues: boolean;\n originalKey: string | null;\n originalName: string | null;\n originalVersionTag: string | null;\n}\n\nexport interface CaseDefinitionSettingsResponseDto {\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n canHaveAssignee: boolean;\n autoAssignTasks: boolean;\n hasExternalStartForm: boolean | null;\n externalStartFormUrl: string | null;\n externalStartFormDescription: string | null;\n}\n\nexport interface CaseDefinitionUpdateRequest {\n name: string | null;\n description: string | null;\n}\n\nexport interface CaseListColumnDto {\n title: string | null;\n key: string;\n path: string;\n displayType: any;\n sortable: boolean;\n defaultSort: ColumnDefaultSort | null;\n order: number | null;\n exportable: boolean;\n}\n\nexport interface CaseListRowDto {\n id: string;\n items: CaseListItemDto[];\n}\n\nexport interface CaseSettingsDto {\n canHaveAssignee: boolean | null;\n autoAssignTasks: boolean | null;\n hasExternalStartForm: boolean | null;\n externalStartFormUrl: string | null;\n externalStartFormDescription: string | null;\n}\n\nexport interface CaseTabDto {\n key: string;\n name: string | null;\n type: CaseTabType;\n contentKey: string;\n showTasks: boolean;\n}\n\nexport interface CaseTabUpdateDto {\n name: string | null;\n type: CaseTabType;\n contentKey: string;\n showTasks: boolean;\n}\n\nexport interface CaseTabUpdateOrderDto {\n key: string;\n name: string | null;\n type: CaseTabType;\n contentKey: string;\n showTasks: boolean;\n}\n\nexport interface CaseTabWithMetadataDto {\n key: string;\n name: string | null;\n type: CaseTabType;\n contentKey: string;\n createdOn: DateAsString | null;\n createdBy: string | null;\n showTasks: boolean;\n}\n\nexport interface CaseVersionDto {\n versionTag: string;\n active: boolean;\n final: boolean;\n}\n\nexport interface CreateStartableItemRequest {\n type: StartableItemType;\n properties: any;\n}\n\nexport interface HiddenCaseListColumnDto {\n columnKey: string;\n}\n\nexport interface ManagementStartableItemDto {\n type: StartableItemType;\n name: string | null;\n key: string;\n versionTag: string | null;\n processDefinitionId: string | null;\n sortOrder: number | null;\n}\n\nexport interface StartableItemDto {\n type: StartableItemType;\n name: string | null;\n key: string;\n versionTag: string | null;\n processDefinitionId: string | null;\n}\n\nexport interface StartableItemOrderEntry {\n key: string;\n type: StartableItemType;\n versionTag: string | null;\n sortOrder: number;\n}\n\nexport interface TaskListColumnDto {\n title: string | null;\n key: string;\n path: string;\n displayType: any;\n sortable: boolean;\n defaultSort: ColumnDefaultSort | null;\n order: number | null;\n}\n\nexport interface UpdateStartableItemOrderRequest {\n items: StartableItemOrderEntry[];\n}\n\nexport interface UpdateStartableItemRequest {\n type: StartableItemType;\n properties: any;\n}\n\nexport interface AdminWidgetConfigurationResponseDto {\n key: string;\n title: string;\n dataSourceKey: string;\n displayType: string;\n dataSourceProperties: ObjectNode;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface DashboardCreateRequestDto {\n title: string;\n description: string;\n}\n\nexport interface DashboardResponseDto {\n key: string;\n title: string;\n description: string;\n createdBy: string;\n createdOn: DateAsString;\n}\n\nexport interface DashboardUpdateRequestDto {\n key: string;\n title: string;\n description: string;\n}\n\nexport interface DashboardWidgetDataResultDto {\n key: string;\n data: any;\n}\n\nexport interface DashboardWithWidgetsResponseDto {\n key: string;\n title: string;\n widgets: WidgetConfigurationResponseDto[];\n}\n\nexport interface SingleWidgetConfigurationUpdateRequestDto {\n title: string;\n dataSourceKey: string;\n displayType: string;\n dataSourceProperties: ObjectNode;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface WidgetConfigurationCreateRequestDto {\n title: string;\n dataSourceKey: string;\n displayType: string;\n dataSourceProperties: ObjectNode;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface WidgetConfigurationResponseDto {\n key: string;\n title: string;\n displayType: string;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface WidgetConfigurationUpdateRequestDto {\n key: string;\n title: string;\n dataSourceKey: string;\n displayType: string;\n dataSourceProperties: ObjectNode;\n displayTypeProperties: ObjectNode;\n url: URI | null;\n}\n\nexport interface CaseTagCreateRequestDto {\n key: string;\n title: string;\n color: CaseTagColor;\n}\n\nexport interface CaseTagResponseDto {\n key: string;\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n title: string;\n color: CaseTagColor;\n order: number;\n}\n\nexport interface CaseTagUpdateRequestDto {\n key: string;\n title: string;\n color: CaseTagColor;\n}\n\nexport interface InternalCaseStatusCreateRequestDto {\n key: string;\n title: string;\n visibleInCaseListByDefault: boolean;\n retentionPeriodInDays: number;\n color: InternalCaseStatusColor;\n}\n\nexport interface InternalCaseStatusResponseDto {\n key: string;\n caseDefinitionName: string;\n title: string;\n visibleInCaseListByDefault: boolean;\n retentionPeriodInDays: number;\n order: number;\n color: InternalCaseStatusColor;\n}\n\nexport interface InternalCaseStatusUpdateOrderRequestDto {\n key: string;\n title: string;\n visibleInCaseListByDefault: boolean;\n retentionPeriodInDays: number;\n color: InternalCaseStatusColor;\n}\n\nexport interface InternalCaseStatusUpdateRequestDto {\n key: string;\n title: string;\n visibleInCaseListByDefault: boolean;\n retentionPeriodInDays: number;\n color: InternalCaseStatusColor;\n}\n\nexport interface ColumnKeyResponse {\n key: string;\n sortable: boolean;\n filterable: boolean;\n}\n\nexport interface ColumnResponse {\n key: string;\n sortable: boolean;\n filterable: boolean;\n defaultSort: string | null;\n}\n\nexport interface DocumentSearchRequest {\n informatieobjecttype: string | null;\n titel: string | null;\n vertrouwelijkheidaanduiding: string | null;\n creatiedatumFrom: DateAsString | null;\n creatiedatumTo: DateAsString | null;\n auteur: string | null;\n trefwoorden: string[] | null;\n}\n\nexport interface DocumentenApiDocumentDto {\n fileId: string;\n pluginConfigurationId: string;\n bestandsnaam: string | null;\n bestandsomvang: number | null;\n creatiedatum: DateAsString;\n auteur: string | null;\n titel: string | null;\n status: string | null;\n taal: string | null;\n identificatie: string | null;\n beschrijving: string | null;\n informatieobjecttype: string | null;\n informatieobjecttypeOmschrijving: string | null;\n trefwoorden: string[] | null;\n formaat: string | null;\n verzenddatum: DateAsString | null;\n ontvangstdatum: DateAsString | null;\n vertrouwelijkheidaanduiding: string | null;\n versie: number | null;\n indicatieGebruiksrecht: boolean | null;\n canView: boolean;\n canModify: boolean;\n canDelete: boolean;\n}\n\nexport interface DocumentenApiUploadFieldDto {\n key: string;\n defaultValue: string | null;\n visible: boolean;\n readonly: boolean;\n}\n\nexport interface DocumentenApiVersionDetailsDto {\n version: string;\n supportsFilterableColumns: boolean;\n supportsSortableColumns: boolean;\n supportsTrefwoorden: boolean;\n supportsUpdatingDefinitiveDocument: boolean;\n supportsObjectInformatieObjecten: boolean;\n experimentalVersion: boolean;\n}\n\nexport interface DocumentenApiVersionDto {\n selectedVersion: string | null;\n supportsFilterableColumns: boolean;\n supportsSortableColumns: boolean;\n supportsTrefwoorden: boolean;\n supportsUpdatingDefinitiveDocument: boolean;\n supportsObjectInformatieObjecten: boolean;\n}\n\nexport interface DocumentenApiVersionManagementDto {\n selectedVersion: string | null;\n detectedVersions: string[];\n supportsFilterableColumns: boolean;\n supportsSortableColumns: boolean;\n supportsTrefwoorden: boolean;\n}\n\nexport interface DocumentenApiVersionsManagementDto {\n versions: string[];\n versionDetails: DocumentenApiVersionDetailsDto[];\n}\n\nexport interface ModifyDocumentRequest {\n creatiedatum: DateAsString;\n titel: string;\n auteur: string;\n status: DocumentStatusType | null;\n taal: string;\n bestandsnaam: string | null;\n beschrijving: string | null;\n ontvangstdatum: DateAsString | null;\n verzenddatum: DateAsString | null;\n indicatieGebruiksrecht: boolean | null;\n vertrouwelijkheidaanduiding: string | null;\n informatieobjecttype: string | null;\n trefwoorden: string[] | null;\n}\n\nexport interface RelatedFileDto extends RelatedFile {\n fileName: string | null;\n sizeInBytes: number | null;\n pluginConfigurationId: string;\n author: string | null;\n title: string | null;\n status: string | null;\n language: string | null;\n identification: string | null;\n description: string | null;\n informatieobjecttype: string | null;\n informatieobjecttypeOmschrijving: string | null;\n keywords: string[] | null;\n format: string | null;\n sendDate: DateAsString | null;\n receiptDate: DateAsString | null;\n confidentialityLevel: string | null;\n version: number | null;\n indicationUsageRights: boolean | null;\n canView: boolean;\n canModify: boolean;\n canDelete: boolean;\n}\n\nexport interface ReorderColumnRequest {\n key: string;\n defaultSort: string | null;\n}\n\nexport interface UpdateColumnRequest {\n defaultSort: string | null;\n}\n\nexport interface FormOption {\n id: string;\n name: string;\n}\n\nexport interface FormProcessLinkCreateRequestDto extends ProcessLinkCreateRequestDto {\n formDefinitionId: string;\n viewModelEnabled: boolean | null;\n formDisplayType: FormDisplayType | null;\n formSize: FormSizes | null;\n subtitles: string[] | null;\n}\n\nexport interface FormProcessLinkExportResponseDto extends ProcessLinkExportResponseDto {\n formDefinitionName: string;\n viewModelEnabled: boolean;\n formDisplayType: FormDisplayType;\n formSize: FormSizes;\n subtitles: string[] | null;\n}\n\nexport interface FormProcessLinkResponseDto extends ProcessLinkResponseDto {\n formDefinitionId: string;\n viewModelEnabled: boolean;\n formDisplayType: FormDisplayType;\n formSize: FormSizes;\n subtitles: string[] | null;\n}\n\nexport interface FormProcessLinkUpdateRequestDto extends ProcessLinkUpdateRequestDto {\n formDefinitionId: string;\n viewModelEnabled: boolean | null;\n formDisplayType: FormDisplayType | null;\n formSize: FormSizes | null;\n subtitles: string[] | null;\n}\n\nexport interface FormSubmissionResult {\n documentId: string | null;\n errors: OperationError[];\n}\n\nexport interface FormSubmissionResultFailed extends FormSubmissionResult, TransactionalResult {\n}\n\nexport interface FormSubmissionResultSucceeded extends FormSubmissionResult {\n documentId: string;\n}\n\nexport interface IntermediateSaveRequest {\n submission: ObjectNode;\n taskInstanceId: string;\n}\n\nexport interface IntermediateSubmission {\n submission: ObjectNode;\n taskInstanceId: string;\n createdBy: string;\n createdOn: DateAsString;\n editedBy: string | null;\n editedOn: DateAsString | null;\n}\n\nexport interface IntermediateSubmissionKt {\n}\n\nexport interface FormFlowBreadcrumbResponse {\n title: string | null;\n key: string;\n stepInstanceId: string | null;\n completed: boolean;\n}\n\nexport interface FormFlowBreadcrumbsResponse {\n currentStepIndex: number;\n breadcrumbs: FormFlowBreadcrumbResponse[];\n}\n\nexport interface FormFlowProcessLinkCreateRequestDto extends ProcessLinkCreateRequestDto {\n formFlowDefinitionKey: string;\n formDisplayType: FormDisplayType | null;\n formSize: FormSizes | null;\n subtitles: string[] | null;\n}\n\nexport interface FormFlowProcessLinkExportResponseDto extends ProcessLinkExportResponseDto {\n formFlowDefinitionKey: string;\n formDisplayType: FormDisplayType;\n formSize: FormSizes;\n subtitles: string[] | null;\n}\n\nexport interface FormFlowProcessLinkResponseDto extends ProcessLinkResponseDto {\n formFlowDefinitionKey: string;\n formDisplayType: FormDisplayType;\n formSize: FormSizes;\n subtitles: string[] | null;\n}\n\nexport interface FormFlowProcessLinkUpdateRequestDto extends ProcessLinkUpdateRequestDto {\n formFlowDefinitionKey: string;\n formDisplayType: FormDisplayType | null;\n formSize: FormSizes | null;\n subtitles: string[] | null;\n}\n\nexport interface MultipleFormErrors {\n componentErrors: ComponentError[];\n}\n\nexport interface SingleFormError {\n error: string;\n component: string | null;\n}\n\nexport interface StartFormSubmissionResult {\n documentId: string | null;\n}\n\nexport interface LocalizationResponseDto {\n languageKey: string;\n content: ObjectNode;\n}\n\nexport interface LocalizationUpdateRequestDto {\n languageKey: string;\n content: ObjectNode;\n}\n\nexport interface LoggingEventPropertyDto {\n key: string;\n value: string;\n}\n\nexport interface LoggingEventResponse {\n timestamp: DateAsString;\n formattedMessage: string;\n level: string;\n properties: LoggingEventPropertyDto[];\n stacktrace: string | null;\n}\n\nexport interface LoggingEventSearchRequest {\n afterTimestamp: DateAsString | null;\n beforeTimestamp: DateAsString | null;\n level: string | null;\n likeFormattedMessage: string | null;\n properties: LoggingEventPropertyDto[];\n}\n\nexport interface NoteCreateRequestDto {\n content: string;\n}\n\nexport interface NoteResponseDto {\n id: string;\n createdByUserId: string;\n createdByUserFullName: string;\n createdDate: DateAsString;\n content: string;\n documentId: string;\n}\n\nexport interface NoteUpdateRequestDto {\n content: string;\n}\n\nexport interface URLProcessLinkCreateRequestDto extends ProcessLinkCreateRequestDto {\n url: string;\n}\n\nexport interface URLProcessLinkDeployDto extends ProcessLinkDeployDto {\n processLinkType: \"url\";\n url: string;\n}\n\nexport interface URLProcessLinkExportResponseDto extends ProcessLinkExportResponseDto {\n url: string;\n}\n\nexport interface URLProcessLinkResponseDto extends ProcessLinkResponseDto {\n url: string;\n}\n\nexport interface URLProcessLinkUpdateRequestDto extends ProcessLinkUpdateRequestDto {\n url: string;\n}\n\nexport interface URLSubmissionResult {\n errors: string[];\n documentId: string;\n}\n\nexport interface URLVariables {\n variables: { [index: string]: string };\n}\n\nexport interface CaseProcessDefinitionResponseDto {\n processDefinition: ProcessDefinitionWithPropertiesDto;\n processCaseLink: ProcessDefinitionCaseDefinition;\n processLinks: ProcessLinkResponseDto[];\n bpmn20Xml: string;\n draft: boolean;\n}\n\nexport interface ProcessDefinitionResponseDto {\n processDefinition: ProcessDefinitionWithPropertiesDto;\n processLinks: ProcessLinkResponseDto[];\n bpmn20Xml: string;\n}\n\nexport interface ProcessLinkActivityResult<T> {\n processLinkId: string;\n type: string;\n assignee: string | null;\n due: DateAsString | null;\n properties: T;\n}\n\nexport interface ProcessLinkActivityResultWithTask {\n task: TaskInstanceWithIdentityLink;\n processLinkActivityResult: ProcessLinkActivityResult<any> | null;\n}\n\nexport interface ProcessLinkCreateRequestDto {\n activityId: string;\n activityType: ActivityTypeWithEventName;\n processLinkType: string;\n processDefinitionId: string;\n}\n\nexport interface ProcessLinkExportResponseDto {\n activityId: string;\n activityType: ActivityTypeWithEventName;\n processLinkType: string;\n}\n\nexport interface ProcessLinkResponseDto {\n activityId: string;\n activityType: ActivityTypeWithEventName;\n processLinkType: string;\n processDefinitionId: string;\n id: string;\n}\n\nexport interface ProcessLinkUpdateRequestDto {\n processLinkType: string;\n id: string;\n}\n\nexport interface SearchFieldV2Dto {\n id: string;\n ownerId: string;\n ownerType: string;\n key: string;\n title: string | null;\n path: string;\n order: number;\n dataType: DataType;\n fieldType: FieldType;\n matchType: SearchFieldMatchType | null;\n dropdownDataProvider: string | null;\n required: boolean;\n}\n\nexport interface TabDto {\n key: string;\n title: string | null;\n type: string;\n properties: { [index: string]: any | null } | null;\n}\n\nexport interface TeamCreateRequestDto {\n key: string;\n title: string;\n}\n\nexport interface TeamImportExportDto {\n key: string;\n title: string;\n}\n\nexport interface TeamListResponseDto {\n key: string;\n title: string;\n userCount: number;\n}\n\nexport interface TeamResponseDto {\n key: string;\n title: string;\n}\n\nexport interface TeamUpdateRequestDto {\n key: string;\n title: string;\n}\n\nexport interface TeamUserCreateRequestDto {\n username: string;\n}\n\nexport interface TeamUserResponseDto {\n username: string;\n fullName: string | null;\n email: string | null;\n}\n\nexport interface BatchAssignTaskDTO {\n assignee: string;\n assignedTeamKey: string;\n tasksIds: string[];\n}\n\nexport interface ChoiceFieldCreateRequestDTO {\n keyName: string;\n title: string;\n}\n\nexport interface ChoiceFieldDTO {\n id: number;\n keyName: string;\n choiceFieldValues: ChoiceFieldValue[];\n}\n\nexport interface ChoiceFieldUpdateRequestDTO {\n id: number;\n keyName: string;\n title: string;\n}\n\nexport interface ChoiceFieldValueCreateRequestDTO {\n name: string;\n deprecated: boolean;\n sortOrder: number;\n value: string;\n}\n\nexport interface ChoiceFieldValueUpdateRequestDTO {\n id: number;\n name: string;\n deprecated: boolean;\n sortOrder: number;\n value: string;\n}\n\nexport interface CommentDto {\n text: string;\n}\n\nexport interface CustomTaskDto {\n task: OperatonTaskDto;\n formFields: FormField[];\n variables: { [index: string]: any };\n formLocation: string;\n processName: string;\n processKey: string;\n processVersion: string;\n businessKey: string;\n}\n\nexport interface DefinitionDeploymentResponseDto {\n identifier: string;\n}\n\nexport interface FlowNodeMigrationDTO {\n sourceFlowNodeMap: { [index: string]: string };\n targetFlowNodeMap: { [index: string]: string };\n uniqueFlowNodeMap: { [index: string]: string };\n}\n\nexport interface HeatmapTaskAverageDurationDTO extends HeatmapTaskDTO {\n averageDurationInMilliseconds: number;\n}\n\nexport interface HeatmapTaskCountDTO extends HeatmapTaskDTO {\n}\n\nexport interface HeatmapTaskDTO {\n name: string;\n count: number;\n totalCount: number;\n}\n\nexport interface KeyAndPasswordDTO {\n key: string;\n newPassword: string;\n}\n\nexport interface LoginDTO {\n username: string;\n password: string;\n rememberMe: boolean;\n}\n\nexport interface ProcessDefinitionDiagramWithPropertyDto {\n id: string;\n bpmn20Xml: string;\n readOnly: boolean;\n systemProcess: boolean;\n}\n\nexport interface ProcessDefinitionWithPropertiesDto extends ProcessDefinitionDto {\n readOnly: boolean;\n}\n\nexport interface ProcessInstanceDiagramDto {\n id: string;\n bpmn20Xml: string;\n historicActivityInstances: HistoricActivityInstance[];\n}\n\nexport interface ProcessInstanceSearchDTO {\n processVariables: ProcessVariableDTOV2Union[];\n}\n\nexport interface ProcessInstanceStatisticsDTO {\n duration: number;\n processName: string;\n}\n\nexport interface StartFormDto {\n formLocation: string;\n formFields: FormField[];\n genericForm: boolean;\n}\n\nexport interface TaskCompletionDTO {\n variables: { [index: string]: any };\n filesToDelete: string[];\n}\n\nexport interface UserTeamDto {\n key: string;\n}\n\nexport interface WidgetDto {\n type: string;\n title: string;\n compact: boolean | null;\n color: WidgetColor | null;\n icon: string | null;\n width: number;\n displayConditions: Condition<any>[] | null;\n highContrast: boolean;\n key: string;\n actions: WidgetAction[];\n}\n\nexport interface BuildingBlockInputMapping {\n source: string;\n target: string;\n}\n\nexport interface BuildingBlockOutputMapping {\n source: string;\n target: string;\n syncTiming: BuildingBlockSyncTiming;\n}\n\nexport interface CaseDefinitionId extends AbstractId<CaseDefinitionId>, BlueprintId {\n key: string;\n versionTag: Semver;\n}\n\nexport interface CaseListItemDto {\n key: string;\n value: any | null;\n}\n\nexport interface ObjectNode extends ContainerNode<ObjectNode>, Serializable {\n}\n\nexport interface URI extends Comparable<URI>, Serializable {\n}\n\nexport interface RelatedFile {\n createdOn: DateAsString;\n fileId: string;\n sizeInBytes: number;\n createdBy: string;\n fileName: string;\n}\n\nexport interface OperationError {\n}\n\nexport interface TransactionalResult {\n}\n\nexport interface ComponentError {\n component: string | null;\n message: string;\n}\n\nexport interface ProcessLinkDeployDto {\n processLinkType: \"url\";\n activityId: string;\n activityType: ActivityTypeWithEventName;\n processDefinitionId: string;\n}\n\nexport interface ProcessDefinitionCaseDefinition {\n id: ProcessDefinitionCaseDefinitionId;\n canInitializeDocument: boolean;\n startableByUser: boolean;\n processDefinitionName: string | null;\n processDefinitionKey: string | null;\n}\n\nexport interface TaskInstanceWithIdentityLink {\n businessKey: string;\n id: string | null;\n name: string | null;\n assignee: string | null;\n created: DateAsString | null;\n due: DateAsString | null;\n followUp: DateAsString | null;\n lastUpdated: DateAsString | null;\n delegationState: string | null;\n description: string | null;\n executionId: string | null;\n owner: string | null;\n parentTaskId: string | null;\n priority: number;\n processDefinitionId: string | null;\n processInstanceId: string | null;\n taskDefinitionKey: string | null;\n caseExecutionId: string | null;\n caseInstanceId: string | null;\n caseDefinitionId: string | null;\n suspended: boolean;\n tenantId: string | null;\n assignedTeam: TeamDto | null;\n valtimoAssignee: AssigneeDto | null;\n external: boolean;\n processDefinitionKey: string;\n identityLinks: OperatonIdentityLinkDto[];\n subtitles: string[];\n}\n\nexport interface ChoiceFieldValue extends AbstractAuditingEntity, Serializable {\n id: number;\n name: string;\n deprecated: boolean;\n sortOrder: number;\n value: string;\n choiceField: ChoiceField;\n}\n\nexport interface OperatonTaskDto {\n id: string | null;\n name: string | null;\n assignee: string | null;\n created: DateAsString | null;\n due: DateAsString | null;\n followUp: DateAsString | null;\n lastUpdated: DateAsString | null;\n delegationState: string | null;\n description: string | null;\n executionId: string | null;\n owner: string | null;\n parentTaskId: string | null;\n priority: number;\n processDefinitionId: string | null;\n processInstanceId: string | null;\n taskDefinitionKey: string | null;\n caseExecutionId: string | null;\n caseInstanceId: string | null;\n caseDefinitionId: string | null;\n suspended: boolean;\n tenantId: string | null;\n assignedTeam: TeamDto | null;\n valtimoAssignee: AssigneeDto | null;\n}\n\nexport interface FormField {\n businessKey: boolean;\n label: string;\n validationConstraints: FormFieldValidationConstraint[];\n value: TypedValue;\n typeName: string;\n properties: { [index: string]: string };\n id: string;\n type: FormType;\n /**\n * @deprecated since 1.0\n */\n defaultValue: any;\n}\n\nexport interface ProcessDefinitionDto {\n id: string;\n key: string;\n category: string;\n description: string;\n name: string;\n version: number;\n resource: string;\n deploymentId: string;\n diagram: string;\n suspended: boolean;\n tenantId: string;\n versionTag: string;\n historyTimeToLive: number;\n startableInTasklist: boolean;\n}\n\nexport interface HistoricActivityInstance {\n executionId: string;\n canceled: boolean;\n removalTime: DateAsString;\n activityId: string;\n assignee: string;\n tenantId: string;\n startTime: DateAsString;\n endTime: DateAsString;\n taskId: string;\n activityType: string;\n processDefinitionId: string;\n processDefinitionKey: string;\n rootProcessInstanceId: string;\n parentActivityInstanceId: string;\n calledProcessInstanceId: string;\n calledCaseInstanceId: string;\n processInstanceId: string;\n activityName: string;\n durationInMillis: number;\n completeScope: boolean;\n id: string;\n}\n\nexport interface ProcessVariableDTOV2 {\n \"@type\": \"string\" | \"date\" | \"boolean\" | \"enum\" | \"long\" | \"fileUpload\";\n name: string;\n}\n\nexport interface Condition<T> {\n path: string;\n operator: ExpressionOperator;\n value: T;\n}\n\nexport interface WidgetAction {\n}\n\nexport interface Semver extends Comparable<Semver> {\n major: number;\n minor: number;\n patch: number;\n preRelease: string[];\n build: string[];\n version: string;\n stable: boolean;\n}\n\nexport interface BlueprintId {\n tagPrefix: string;\n idKey: string;\n}\n\nexport interface Serializable {\n}\n\nexport interface ProcessDefinitionCaseDefinitionId extends AbstractId<ProcessDefinitionCaseDefinitionId> {\n processDefinitionId: ProcessDefinitionId;\n caseDefinitionId: CaseDefinitionId;\n}\n\nexport interface OperatonIdentityLinkDto {\n userId: string | null;\n groupId: string | null;\n type: string | null;\n}\n\nexport interface ChoiceField extends AbstractAuditingEntity, Serializable {\n id: number;\n keyName: string;\n title: string;\n}\n\nexport interface AbstractAuditingEntity {\n}\n\nexport interface TeamDto extends Team {\n}\n\nexport interface AssigneeDto {\n username: string;\n firstName: string | null;\n lastName: string | null;\n fullName: string;\n}\n\nexport interface FormFieldValidationConstraint {\n configuration: any;\n name: string;\n}\n\nexport interface TypedValue extends Serializable {\n value: any;\n type: ValueType;\n transient: boolean;\n}\n\nexport interface FormType {\n name: string;\n}\n\nexport interface StringProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"string\";\n value: string;\n}\n\nexport interface DateProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"date\";\n range: DateRange;\n}\n\nexport interface BooleanProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"boolean\";\n value: boolean;\n}\n\nexport interface EnumProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"enum\";\n values: string[];\n}\n\nexport interface LongProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"long\";\n value: number;\n}\n\nexport interface FileUploadProcessVariableDTOV2 extends ProcessVariableDTOV2 {\n \"@type\": \"fileUpload\";\n value: boolean;\n}\n\nexport interface AbstractId<SELF> extends Identity, Serializable {\n}\n\nexport interface ContainerNode<T> extends BaseJsonNode, JsonNodeCreator {\n}\n\nexport interface Comparable<T> {\n}\n\nexport interface ProcessDefinitionId {\n id: string;\n}\n\nexport interface Team {\n title: string;\n key: string;\n}\n\nexport interface ValueType extends Serializable {\n primitiveValueType: boolean;\n name: string;\n parent: ValueType;\n abstract: boolean;\n}\n\nexport interface DateRange {\n from: DateAsString;\n to: DateAsString;\n}\n\nexport interface Identity {\n}\n\nexport interface BaseJsonNode extends Serializable {\n}\n\nexport interface JsonNodeCreator {\n}\n\nexport type DateAsString = string;\n\nexport type StartableItemType = \"PROCESS\" | \"BUILDING_BLOCK\";\n\nexport type ColumnDefaultSort = \"ASC\" | \"DESC\";\n\nexport type CaseTabType = \"standard\" | \"formio\" | \"custom\" | \"widgets\";\n\nexport type CaseTagColor = \"WARMGRAY\" | \"RED\" | \"MAGENTA\" | \"PURPLE\" | \"BLUE\" | \"CYAN\" | \"TEAL\" | \"GREEN\" | \"GRAY\" | \"COOLGRAY\" | \"HIGHCONTRAST\" | \"OUTLINE\";\n\nexport type InternalCaseStatusColor = \"WARMGRAY\" | \"RED\" | \"MAGENTA\" | \"PURPLE\" | \"BLUE\" | \"CYAN\" | \"TEAL\" | \"GREEN\" | \"GRAY\" | \"COOLGRAY\" | \"HIGHCONTRAST\" | \"OUTLINE\";\n\nexport type DocumentStatusType = \"in_bewerking\" | \"ter_vaststelling\" | \"definitief\" | \"gearchiveerd\";\n\nexport type ActivityTypeWithEventName = \"bpmn:MultiInstanceBody:start\" | \"bpmn:MultiInstanceBody:end\" | \"bpmn:ExclusiveGateway:start\" | \"bpmn:ExclusiveGateway:end\" | \"bpmn:InclusiveGateway:start\" | \"bpmn:InclusiveGateway:end\" | \"bpmn:ParallelGateway:start\" | \"bpmn:ParallelGateway:end\" | \"bpmn:ComplexGateway:start\" | \"bpmn:ComplexGateway:end\" | \"bpmn:EventBasedGateway:start\" | \"bpmn:EventBasedGateway:end\" | \"bpmn:Task:start\" | \"bpmn:Task:end\" | \"bpmn:ScriptTask:start\" | \"bpmn:ScriptTask:end\" | \"bpmn:ServiceTask:start\" | \"bpmn:ServiceTask:end\" | \"bpmn:BusinessRuleTask:start\" | \"bpmn:BusinessRuleTask:end\" | \"bpmn:ManualTask:start\" | \"bpmn:ManualTask:end\" | \"bpmn:UserTask:create\" | \"bpmn:UserTask:assignment\" | \"bpmn:UserTask:complete\" | \"bpmn:UserTask:update\" | \"bpmn:UserTask:delete\" | \"bpmn:UserTask:timeout\" | \"bpmn:UserTask:start\" | \"bpmn:UserTask:end\" | \"bpmn:SendTask:start\" | \"bpmn:SendTask:end\" | \"bpmn:ReceiveTask:start\" | \"bpmn:ReceiveTask:end\" | \"bpmn:SubProcess:start\" | \"bpmn:SubProcess:end\" | \"bpmn:AdHocSubProcess:start\" | \"bpmn:AdHocSubProcess:end\" | \"bpmn:CallActivity:start\" | \"bpmn:CallActivity:end\" | \"bpmn:Transaction:start\" | \"bpmn:Transaction:end\" | \"bpmn:BoundaryTimer:start\" | \"bpmn:BoundaryTimer:end\" | \"bpmn:BoundaryMessage:start\" | \"bpmn:BoundaryMessage:end\" | \"bpmn:BoundarySignal:start\" | \"bpmn:BoundarySignal:end\" | \"bpmn:CompensationBoundaryCatch:start\" | \"bpmn:CompensationBoundaryCatch:end\" | \"bpmn:BoundaryError:start\" | \"bpmn:BoundaryError:end\" | \"bpmn:BoundaryEscalation:start\" | \"bpmn:BoundaryEscalation:end\" | \"bpmn:CancelBoundaryCatch:start\" | \"bpmn:CancelBoundaryCatch:end\" | \"bpmn:BoundaryConditional:start\" | \"bpmn:BoundaryConditional:end\" | \"bpmn:StartEvent:start\" | \"bpmn:StartEvent:end\" | \"bpmn:StartTimerEvent:start\" | \"bpmn:StartTimerEvent:end\" | \"bpmn:MessageStartEvent:start\" | \"bpmn:MessageStartEvent:end\" | \"bpmn:SignalStartEvent:start\" | \"bpmn:SignalStartEvent:end\" | \"bpmn:EscalationStartEvent:start\" | \"bpmn:EscalationStartEvent:end\" | \"bpmn:CompensationStartEvent:start\" | \"bpmn:CompensationStartEvent:end\" | \"bpmn:ErrorStartEvent:start\" | \"bpmn:ErrorStartEvent:end\" | \"bpmn:ConditionalStartEvent:start\" | \"bpmn:ConditionalStartEvent:end\" | \"bpmn:IntermediateCatchEvent:start\" | \"bpmn:IntermediateCatchEvent:end\" | \"bpmn:IntermediateMessageCatch:start\" | \"bpmn:IntermediateMessageCatch:end\" | \"bpmn:IntermediateTimer:start\" | \"bpmn:IntermediateTimer:end\" | \"bpmn:IntermediateLinkCatch:start\" | \"bpmn:IntermediateLinkCatch:end\" | \"bpmn:IntermediateSignalCatch:start\" | \"bpmn:IntermediateSignalCatch:end\" | \"bpmn:IntermediateConditional:start\" | \"bpmn:IntermediateConditional:end\" | \"bpmn:IntermediateThrowEvent:start\" | \"bpmn:IntermediateThrowEvent:end\" | \"bpmn:IntermediateSignalThrow:start\" | \"bpmn:IntermediateSignalThrow:end\" | \"bpmn:IntermediateCompensationThrowEvent:start\" | \"bpmn:IntermediateCompensationThrowEvent:end\" | \"bpmn:IntermediateMessageThrowEvent:start\" | \"bpmn:IntermediateMessageThrowEvent:end\" | \"bpmn:IntermediateNoneThrowEvent:start\" | \"bpmn:IntermediateNoneThrowEvent:end\" | \"bpmn:IntermediateEscalationThrowEvent:start\" | \"bpmn:IntermediateEscalationThrowEvent:end\" | \"bpmn:ErrorEndEvent:start\" | \"bpmn:ErrorEndEvent:end\" | \"bpmn:CancelEndEvent:start\" | \"bpmn:CancelEndEvent:end\" | \"bpmn:TerminateEndEvent:start\" | \"bpmn:TerminateEndEvent:end\" | \"bpmn:MessageEndEvent:start\" | \"bpmn:MessageEndEvent:end\" | \"bpmn:SignalEndEvent:start\" | \"bpmn:SignalEndEvent:end\" | \"bpmn:CompensationEndEvent:start\" | \"bpmn:CompensationEndEvent:end\" | \"bpmn:EscalationEndEvent:start\" | \"bpmn:EscalationEndEvent:end\" | \"bpmn:NoneEndEvent:start\" | \"bpmn:NoneEndEvent:end\";\n\nexport type FormDisplayType = \"modal\" | \"panel\";\n\nexport type FormSizes = \"extraSmall\" | \"small\" | \"medium\" | \"large\";\n\nexport type DataType = \"text\" | \"number\" | \"date\" | \"datetime\" | \"time\" | \"boolean\" | \"bsn\";\n\nexport type FieldType = \"text_contains\" | \"single\" | \"range\" | \"single-select-dropdown\" | \"multi-select-dropdown\";\n\nexport type SearchFieldMatchType = \"like\" | \"exact\";\n\nexport type WidgetColor = \"YELLOW\" | \"ORANGE\" | \"RED\" | \"BROWN\" | \"GREEN\" | \"TURQOISE\" | \"PURPLE\" | \"PERIWINKLE\" | \"BLUE\" | \"HIGHCONTRAST\" | \"WHITE\";\n\nexport type BuildingBlockSyncTiming = \"CONTINUOUS\" | \"END\";\n\nexport type ExpressionOperator = \"!=\" | \"==\" | \">\" | \">=\" | \"<\" | \"<=\" | \"list_contains\" | \"in\";\n\nexport type ProcessVariableDTOV2Union = StringProcessVariableDTOV2 | DateProcessVariableDTOV2 | BooleanProcessVariableDTOV2 | EnumProcessVariableDTOV2 | LongProcessVariableDTOV2 | FileUploadProcessVariableDTOV2;\n","/*\n * Copyright 2015-2025 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/*\n * Public API Surface of shared\n */\n\nexport * from './lib/components/carousel/carousel.component';\nexport * from './lib/components/global-notification.component';\nexport * from './lib/config.module';\nexport * from './lib/constants';\nexport * from './lib/extension/extension.component';\nexport * from './lib/models';\nexport * from './lib/services';\nexport * from './lib/testing';\nexport * from './lib/translation';\nexport * from './lib/utils';\nexport * from './lib/zgw';\nexport * from './lib/guards';\nexport * from './lib/generated'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.ConfigService","i1.ConfigService","i3.EnvironmentService","i4.DraftVersionService","i1.GlobalNotificationService","i2","switchMap","map"],"mappings":"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"}
|