@valtimo/shared 13.35.0 → 13.36.1

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.
@@ -1,16 +1,108 @@
1
+ import * as i2 from '@angular/common';
1
2
  import { CommonModule } from '@angular/common';
2
3
  import * as i0 from '@angular/core';
3
- import { InjectionToken, Inject, Injectable, Component, ViewContainerRef, ViewChild, Input, NgModule } from '@angular/core';
4
- import * as i2 from 'carbon-components-angular';
5
- import { Notification, Toast, ActionableNotification, NotificationService } from 'carbon-components-angular';
6
- import { of, combineLatest, map, filter, distinctUntilChanged, switchMap, BehaviorSubject, take, forkJoin } from 'rxjs';
4
+ import { ViewChild, Input, HostBinding, ViewEncapsulation, ChangeDetectionStrategy, Component, InjectionToken, Inject, Injectable, ViewContainerRef, NgModule, inject } from '@angular/core';
5
+ import * as i3 from '@ngx-translate/core';
6
+ import { TranslateModule } from '@ngx-translate/core';
7
+ import { ChevronLeft16, ChevronRight16 } from '@carbon/icons';
8
+ import * as i1 from 'carbon-components-angular';
9
+ import { ButtonModule, IconModule, Notification, Toast, ActionableNotification, NotificationService } from 'carbon-components-angular';
10
+ import { BehaviorSubject, of, combineLatest, map, filter, distinctUntilChanged, switchMap, take, forkJoin } from 'rxjs';
7
11
  import { isEqual } from 'lodash';
8
12
  import { TranslateHttpLoader } from '@ngx-translate/http-loader';
9
- import * as i1 from '@angular/common/http';
13
+ import * as i1$1 from '@angular/common/http';
10
14
  import { HttpHeaders, HttpClient } from '@angular/common/http';
11
15
  import { catchError, switchMap as switchMap$1, map as map$1 } from 'rxjs/operators';
12
16
  import { deepmerge } from 'deepmerge-ts';
13
17
  import { MultiTranslateHttpLoader } from 'ngx-translate-multi-http-loader';
18
+ import { Router } from '@angular/router';
19
+
20
+ /*
21
+ * Copyright 2015-2026 Ritense BV, the Netherlands.
22
+ *
23
+ * Licensed under EUPL, Version 1.2 (the "License");
24
+ * you may not use this file except in compliance with the License.
25
+ * You may obtain a copy of the License at
26
+ *
27
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
28
+ *
29
+ * Unless required by applicable law or agreed to in writing, software
30
+ * distributed under the License is distributed on an "AS IS" basis,
31
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
32
+ * See the License for the specific language governing permissions and
33
+ * limitations under the License.
34
+ */
35
+ class CarouselComponent {
36
+ constructor(iconService, ngZone) {
37
+ this.iconService = iconService;
38
+ this.ngZone = ngZone;
39
+ this.hostClasses = 'valtimo-carousel';
40
+ this.canScrollPrev$ = new BehaviorSubject(false);
41
+ this.canScrollNext$ = new BehaviorSubject(false);
42
+ this.itemCount$ = new BehaviorSubject(0);
43
+ this.activeIndex$ = new BehaviorSubject(0);
44
+ this.dots$ = new BehaviorSubject([]);
45
+ this.iconService.registerAll([ChevronLeft16, ChevronRight16]);
46
+ }
47
+ ngAfterViewInit() {
48
+ const track = this.trackRef.nativeElement;
49
+ this.resizeObserver = new ResizeObserver(() => this.ngZone.run(() => this.updateScrollState()));
50
+ this.resizeObserver.observe(track);
51
+ this.mutationObserver = new MutationObserver(() => this.ngZone.run(() => this.updateScrollState()));
52
+ this.mutationObserver.observe(track, { childList: true });
53
+ this.updateScrollState();
54
+ }
55
+ ngOnDestroy() {
56
+ this.resizeObserver?.disconnect();
57
+ this.mutationObserver?.disconnect();
58
+ }
59
+ onScroll() {
60
+ this.updateScrollState();
61
+ }
62
+ scrollPrev() {
63
+ this.scrollByViewport(-1);
64
+ }
65
+ scrollNext() {
66
+ this.scrollByViewport(1);
67
+ }
68
+ scrollToIndex(index) {
69
+ const track = this.trackRef.nativeElement;
70
+ track.scrollTo({ left: index * track.clientWidth, behavior: 'smooth' });
71
+ }
72
+ scrollByViewport(direction) {
73
+ const track = this.trackRef.nativeElement;
74
+ track.scrollBy({ left: direction * track.clientWidth, behavior: 'smooth' });
75
+ }
76
+ updateScrollState() {
77
+ const track = this.trackRef.nativeElement;
78
+ const maxScrollLeft = track.scrollWidth - track.clientWidth;
79
+ this.canScrollPrev$.next(track.scrollLeft > 0);
80
+ this.canScrollNext$.next(track.scrollLeft < maxScrollLeft - 1);
81
+ const count = track.children.length;
82
+ if (count !== this.itemCount$.value) {
83
+ this.itemCount$.next(count);
84
+ this.dots$.next(Array.from({ length: count }, (_, index) => index));
85
+ }
86
+ const activeIndex = track.clientWidth > 0 ? Math.round(track.scrollLeft / track.clientWidth) : 0;
87
+ if (activeIndex !== this.activeIndex$.value) {
88
+ this.activeIndex$.next(activeIndex);
89
+ }
90
+ }
91
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CarouselComponent, deps: [{ token: i1.IconService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CarouselComponent, isStandalone: true, selector: "valtimo-carousel", inputs: { ariaLabel: "ariaLabel" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "trackRef", first: true, predicate: ["track"], descendants: true }], ngImport: i0, template: "<!--\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", styles: [".valtimo-carousel{display:flex;flex-direction:column;width:100%}.valtimo-carousel__viewport{position:relative;flex:1 1 auto;min-height:0;width:100%}.valtimo-carousel__track{display:flex;align-items:stretch;gap:var(--cds-spacing-05, 1rem);width:100%;height:100%;margin:0;padding:0;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}.valtimo-carousel__track::-webkit-scrollbar{display:none}.valtimo-carousel__track>*{flex:0 0 100%;width:100%;scroll-snap-align:start}.valtimo-carousel__controls{display:flex;align-items:center;justify-content:space-between;gap:var(--cds-spacing-03, .5rem);padding-top:var(--cds-spacing-03, .5rem)}.valtimo-carousel__nav .cds--btn{border-radius:0;color:var(--cds-icon-primary)}.valtimo-carousel__nav .cds--btn:disabled{color:var(--cds-icon-disabled);cursor:not-allowed}.valtimo-carousel__dots{display:flex;flex:1 1 auto;align-items:center;justify-content:center;gap:var(--cds-spacing-03, .5rem)}.valtimo-carousel__dot{width:8px;height:8px;padding:0;border:none;border-radius:50%;background-color:var(--cds-icon-disabled);cursor:pointer;transition:background-color .11s ease}.valtimo-carousel__dot:hover{background-color:var(--cds-icon-secondary)}.valtimo-carousel__dot--active{background-color:var(--cds-icon-primary)}.valtimo-carousel__dot:focus-visible{outline:2px solid var(--cds-focus);outline-offset:2px}\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"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.IconButton, selector: "cds-icon-button, ibm-icon-button", inputs: ["buttonNgClass", "buttonAttributes", "buttonId", "kind", "size", "type", "isExpressive", "disabled", "description", "showTooltipWhenDisabled"], outputs: ["click", "focus", "blur", "tooltipClick"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
93
+ }
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CarouselComponent, decorators: [{
95
+ type: Component,
96
+ args: [{ selector: 'valtimo-carousel', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, TranslateModule, ButtonModule, IconModule], template: "<!--\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", styles: [".valtimo-carousel{display:flex;flex-direction:column;width:100%}.valtimo-carousel__viewport{position:relative;flex:1 1 auto;min-height:0;width:100%}.valtimo-carousel__track{display:flex;align-items:stretch;gap:var(--cds-spacing-05, 1rem);width:100%;height:100%;margin:0;padding:0;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}.valtimo-carousel__track::-webkit-scrollbar{display:none}.valtimo-carousel__track>*{flex:0 0 100%;width:100%;scroll-snap-align:start}.valtimo-carousel__controls{display:flex;align-items:center;justify-content:space-between;gap:var(--cds-spacing-03, .5rem);padding-top:var(--cds-spacing-03, .5rem)}.valtimo-carousel__nav .cds--btn{border-radius:0;color:var(--cds-icon-primary)}.valtimo-carousel__nav .cds--btn:disabled{color:var(--cds-icon-disabled);cursor:not-allowed}.valtimo-carousel__dots{display:flex;flex:1 1 auto;align-items:center;justify-content:center;gap:var(--cds-spacing-03, .5rem)}.valtimo-carousel__dot{width:8px;height:8px;padding:0;border:none;border-radius:50%;background-color:var(--cds-icon-disabled);cursor:pointer;transition:background-color .11s ease}.valtimo-carousel__dot:hover{background-color:var(--cds-icon-secondary)}.valtimo-carousel__dot--active{background-color:var(--cds-icon-primary)}.valtimo-carousel__dot:focus-visible{outline:2px solid var(--cds-focus);outline-offset:2px}\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"] }]
97
+ }], ctorParameters: () => [{ type: i1.IconService }, { type: i0.NgZone }], propDecorators: { hostClasses: [{
98
+ type: HostBinding,
99
+ args: ['class']
100
+ }], ariaLabel: [{
101
+ type: Input
102
+ }], trackRef: [{
103
+ type: ViewChild,
104
+ args: ['track']
105
+ }] } });
14
106
 
15
107
  /*
16
108
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -359,6 +451,7 @@ var Language;
359
451
  var IncludeFunction;
360
452
  (function (IncludeFunction) {
361
453
  IncludeFunction[IncludeFunction["ObjectManagementEnabled"] = 0] = "ObjectManagementEnabled";
454
+ IncludeFunction[IncludeFunction["ZgwFeaturesEnabled"] = 1] = "ZgwFeaturesEnabled";
362
455
  })(IncludeFunction || (IncludeFunction = {}));
363
456
 
364
457
  /*
@@ -1037,7 +1130,7 @@ class LocalizationService {
1037
1130
  updateLocalizations(updatedLocalizations) {
1038
1131
  return this.http.put(`${this.valtimoApiUri}management/v1/localization`, updatedLocalizations);
1039
1132
  }
1040
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: LocalizationService, deps: [{ token: i1.HttpClient }, { token: ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1133
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: LocalizationService, deps: [{ token: i1$1.HttpClient }, { token: ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1041
1134
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: LocalizationService, providedIn: 'root' }); }
1042
1135
  }
1043
1136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: LocalizationService, decorators: [{
@@ -1045,7 +1138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1045
1138
  args: [{
1046
1139
  providedIn: 'root',
1047
1140
  }]
1048
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: ConfigService }] });
1141
+ }], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: ConfigService }] });
1049
1142
 
1050
1143
  /*
1051
1144
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -1066,14 +1159,32 @@ class MenuIncludeService {
1066
1159
  constructor(configService) {
1067
1160
  this.configService = configService;
1068
1161
  }
1069
- getIncludeFunction(includeFunction) {
1162
+ getIncludeFunctionObservable(includeFunction) {
1163
+ if (Array.isArray(includeFunction)) {
1164
+ if (includeFunction.length === 0) {
1165
+ return of(true);
1166
+ }
1167
+ const observables = includeFunction.map(fn => this.getSingleIncludeFunction(fn));
1168
+ return combineLatest(observables).pipe(map(results => results.every(result => result)));
1169
+ }
1170
+ return this.getSingleIncludeFunction(includeFunction);
1171
+ }
1172
+ getSingleIncludeFunction(includeFunction) {
1070
1173
  switch (includeFunction) {
1071
1174
  case IncludeFunction.ObjectManagementEnabled:
1072
1175
  return this.configService.getFeatureToggleObservable('enableObjectManagement', true);
1176
+ case IncludeFunction.ZgwFeaturesEnabled:
1177
+ return this.configService.getFeatureToggleObservable('enableZgwFeatures', false);
1073
1178
  default:
1074
1179
  return of(true);
1075
1180
  }
1076
1181
  }
1182
+ /**
1183
+ * @deprecated Use getIncludeFunctionObservable instead
1184
+ */
1185
+ getIncludeFunction(includeFunction) {
1186
+ return this.getSingleIncludeFunction(includeFunction);
1187
+ }
1077
1188
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: MenuIncludeService, deps: [{ token: ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1078
1189
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: MenuIncludeService, providedIn: 'root' }); }
1079
1190
  }
@@ -1111,7 +1222,7 @@ class UserSettingsService {
1111
1222
  saveUserSettings(settings) {
1112
1223
  return this.http.put(`${this.valtimoApiUri}v1/user/settings`, settings);
1113
1224
  }
1114
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: UserSettingsService, deps: [{ token: i1.HttpClient }, { token: ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1225
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: UserSettingsService, deps: [{ token: i1$1.HttpClient }, { token: ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1115
1226
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: UserSettingsService, providedIn: 'root' }); }
1116
1227
  }
1117
1228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: UserSettingsService, decorators: [{
@@ -1119,7 +1230,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1119
1230
  args: [{
1120
1231
  providedIn: 'root',
1121
1232
  }]
1122
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: ConfigService }] });
1233
+ }], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: ConfigService }] });
1123
1234
 
1124
1235
  /*
1125
1236
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -1137,7 +1248,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1137
1248
  * limitations under the License.
1138
1249
  */
1139
1250
  const VERSIONS = {
1140
- frontendLibraries: '13.35.0',
1251
+ frontendLibraries: '13.36.1',
1141
1252
  };
1142
1253
 
1143
1254
  /*
@@ -1287,7 +1398,7 @@ class EnvironmentService extends BaseApiService {
1287
1398
  })
1288
1399
  .pipe(map(response => response.canUpdateGlobalConfiguration), catchError(() => of(true)));
1289
1400
  }
1290
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EnvironmentService, deps: [{ token: i1.HttpClient }, { token: ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1401
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EnvironmentService, deps: [{ token: i1$1.HttpClient }, { token: ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1291
1402
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EnvironmentService, providedIn: 'root' }); }
1292
1403
  }
1293
1404
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EnvironmentService, decorators: [{
@@ -1295,7 +1406,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1295
1406
  args: [{
1296
1407
  providedIn: 'root',
1297
1408
  }]
1298
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: ConfigService }] });
1409
+ }], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: ConfigService }] });
1299
1410
 
1300
1411
  /*
1301
1412
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -1338,7 +1449,7 @@ class DraftVersionService extends BaseApiService {
1338
1449
  })
1339
1450
  .pipe(map(buildingBlockDefinition => !buildingBlockDefinition.final));
1340
1451
  }
1341
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DraftVersionService, deps: [{ token: i1.HttpClient }, { token: ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1452
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DraftVersionService, deps: [{ token: i1$1.HttpClient }, { token: ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1342
1453
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DraftVersionService, providedIn: 'root' }); }
1343
1454
  }
1344
1455
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DraftVersionService, decorators: [{
@@ -1346,7 +1457,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1346
1457
  args: [{
1347
1458
  providedIn: 'root',
1348
1459
  }]
1349
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: ConfigService }] });
1460
+ }], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: ConfigService }] });
1350
1461
 
1351
1462
  /*
1352
1463
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -1390,7 +1501,7 @@ class EditPermissionsService extends BaseApiService {
1390
1501
  }
1391
1502
  return of(false);
1392
1503
  }
1393
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EditPermissionsService, deps: [{ token: i1.HttpClient }, { token: ConfigService }, { token: EnvironmentService }, { token: DraftVersionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1504
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EditPermissionsService, deps: [{ token: i1$1.HttpClient }, { token: ConfigService }, { token: EnvironmentService }, { token: DraftVersionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1394
1505
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EditPermissionsService, providedIn: 'root' }); }
1395
1506
  }
1396
1507
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EditPermissionsService, decorators: [{
@@ -1398,7 +1509,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1398
1509
  args: [{
1399
1510
  providedIn: 'root',
1400
1511
  }]
1401
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: ConfigService }, { type: EnvironmentService }, { type: DraftVersionService }] });
1512
+ }], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: ConfigService }, { type: EnvironmentService }, { type: DraftVersionService }] });
1402
1513
 
1403
1514
  /*
1404
1515
  * Copyright 2015-2026 Ritense BV, the Netherlands.
@@ -1478,13 +1589,13 @@ class GlobalNotificationComponent {
1478
1589
  ngOnInit() {
1479
1590
  this.globalNotificationService.setNotificationService(this.notificationService);
1480
1591
  }
1481
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GlobalNotificationComponent, deps: [{ token: GlobalNotificationService }, { token: i2.NotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
1592
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GlobalNotificationComponent, deps: [{ token: GlobalNotificationService }, { token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
1482
1593
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: GlobalNotificationComponent, isStandalone: true, selector: "valtimo-global-notification", providers: [NotificationService], ngImport: i0, template: ``, isInline: true, styles: ["::ng-deep .cds--toast-notification{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
1483
1594
  }
1484
1595
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GlobalNotificationComponent, decorators: [{
1485
1596
  type: Component,
1486
1597
  args: [{ selector: 'valtimo-global-notification', template: ``, providers: [NotificationService], standalone: true, imports: [CommonModule], styles: ["::ng-deep .cds--toast-notification{width:100%}\n"] }]
1487
- }], ctorParameters: () => [{ type: GlobalNotificationService }, { type: i2.NotificationService }] });
1598
+ }], ctorParameters: () => [{ type: GlobalNotificationService }, { type: i1.NotificationService }] });
1488
1599
 
1489
1600
  /*
1490
1601
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -1891,6 +2002,47 @@ const ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN = new InjectionToken('Specify
1891
2002
  * limitations under the License.
1892
2003
  */
1893
2004
 
2005
+ /*
2006
+ * Copyright 2015-2026 Ritense BV, the Netherlands.
2007
+ *
2008
+ * Licensed under EUPL, Version 1.2 (the "License");
2009
+ * you may not use this file except in compliance with the License.
2010
+ * You may obtain a copy of the License at
2011
+ *
2012
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
2013
+ *
2014
+ * Unless required by applicable law or agreed to in writing, software
2015
+ * distributed under the License is distributed on an "AS IS" basis,
2016
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2017
+ * See the License for the specific language governing permissions and
2018
+ * limitations under the License.
2019
+ */
2020
+ const zgwFeaturesGuard = () => {
2021
+ const configService = inject(ConfigService);
2022
+ const router = inject(Router);
2023
+ const enabled = configService.featureToggles?.enableZgwFeatures !== false;
2024
+ if (!enabled) {
2025
+ return router.createUrlTree(['/']);
2026
+ }
2027
+ return true;
2028
+ };
2029
+
2030
+ /*
2031
+ * Copyright 2015-2026 Ritense BV, the Netherlands.
2032
+ *
2033
+ * Licensed under EUPL, Version 1.2 (the "License");
2034
+ * you may not use this file except in compliance with the License.
2035
+ * You may obtain a copy of the License at
2036
+ *
2037
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
2038
+ *
2039
+ * Unless required by applicable law or agreed to in writing, software
2040
+ * distributed under the License is distributed on an "AS IS" basis,
2041
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2042
+ * See the License for the specific language governing permissions and
2043
+ * limitations under the License.
2044
+ */
2045
+
1894
2046
  /* tslint:disable */
1895
2047
  /* eslint-disable */
1896
2048
  // Generated using typescript-generator version 3.2.1263 on 2026-04-28 11:17:58.
@@ -1918,5 +2070,5 @@ const ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN = new InjectionToken('Specify
1918
2070
  * Generated bundle index. Do not edit.
1919
2071
  */
1920
2072
 
1921
- export { BUILDING_BLOCK_MANAGEMENT_TAB_TOKEN, BaseApiService, BasicExtensionPoint, CASE_CONFIGURATION_EXTENSIONS_TOKEN, CASE_MANAGEMENT_TAB_TOKEN, CaseListTab, ConfigModule, ConfigService, ConfigurationIssueService, CustomMultiTranslateHttpLoader, CustomMultiTranslateHttpLoaderFactory, DEFAULT_NOTIFICATION_PARAMS, DraftVersionService, EditPermissionsService, EnvironmentService, Extension, ExtensionComponent, ExtensionLoader, FORM_VIEW_MODEL_TOKEN, GlobalNotificationComponent, GlobalNotificationService, HttpLoaderFactory, IKO_TOKEN, INITIALIZERS, IncludeFunction, InterceptorSkip, InterceptorSkipHeader, Language, LocalizationService, MenuIncludeService, MockIconService, MockKeycloakService, MockTranslateService, MultiTranslateHttpLoaderFactory, ROLE_ADMIN, ROLE_DEVELOPER, ROLE_USER, RouterUtils, TagColor, TaskListTab, UploadProvider, UrlUtils, UserSettingsService, VALTIMO_CONFIG, VERSIONS, ValtimoUserIdentity, ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN, ZGW_OBJECT_TYPE_COMPONENT_TOKEN, getBuildingBlockManagementRouteParams, getCaseManagementRouteParams, getCaseManagementRouteParamsAndContext, getContextObservable, getDisplayTypeParametersView, getNotificationObject, validateBsn };
2073
+ export { BUILDING_BLOCK_MANAGEMENT_TAB_TOKEN, BaseApiService, BasicExtensionPoint, CASE_CONFIGURATION_EXTENSIONS_TOKEN, CASE_MANAGEMENT_TAB_TOKEN, CarouselComponent, CaseListTab, ConfigModule, ConfigService, ConfigurationIssueService, CustomMultiTranslateHttpLoader, CustomMultiTranslateHttpLoaderFactory, DEFAULT_NOTIFICATION_PARAMS, DraftVersionService, EditPermissionsService, EnvironmentService, Extension, ExtensionComponent, ExtensionLoader, FORM_VIEW_MODEL_TOKEN, GlobalNotificationComponent, GlobalNotificationService, HttpLoaderFactory, IKO_TOKEN, INITIALIZERS, IncludeFunction, InterceptorSkip, InterceptorSkipHeader, Language, LocalizationService, MenuIncludeService, MockIconService, MockKeycloakService, MockTranslateService, MultiTranslateHttpLoaderFactory, ROLE_ADMIN, ROLE_DEVELOPER, ROLE_USER, RouterUtils, TagColor, TaskListTab, UploadProvider, UrlUtils, UserSettingsService, VALTIMO_CONFIG, VERSIONS, ValtimoUserIdentity, ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN, ZGW_OBJECT_TYPE_COMPONENT_TOKEN, getBuildingBlockManagementRouteParams, getCaseManagementRouteParams, getCaseManagementRouteParamsAndContext, getContextObservable, getDisplayTypeParametersView, getNotificationObject, validateBsn, zgwFeaturesGuard };
1922
2074
  //# sourceMappingURL=valtimo-shared.mjs.map