@codex-ts/core-lib 1.0.14 → 1.0.16

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,17 +1,19 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Inject, Injectable, Component, NgModule, Directive, Input, ViewChild, Pipe } from '@angular/core';
3
- import { map, retry, timeout, catchError, take, finalize as finalize$1, switchMap, takeUntil, mergeMap, tap, debounceTime, distinctUntilChanged } from 'rxjs/operators';
4
- import { BehaviorSubject, finalize, Observable, forkJoin, throwError, of, isObservable, Subject, take as take$1, tap as tap$1, map as map$1, catchError as catchError$1, takeUntil as takeUntil$1, ReplaySubject, distinctUntilChanged as distinctUntilChanged$1 } from 'rxjs';
2
+ import { InjectionToken, inject, PLATFORM_ID, signal, computed, Injectable, importProvidersFrom, Component, NgModule, Directive, Input, ViewChild, Pipe } from '@angular/core';
5
3
  import * as i1 from '@angular/common/http';
6
- import { HttpParams } from '@angular/common/http';
7
- import * as i1$1 from '@angular/router';
4
+ import { HttpClient, HttpClientModule, HttpParams } from '@angular/common/http';
5
+ import * as i1$2 from '@angular/common';
6
+ import { isPlatformBrowser, CommonModule, formatDate } from '@angular/common';
7
+ import * as i1$3 from '@angular/router';
8
+ import { Router } from '@angular/router';
9
+ import { toObservable } from '@angular/core/rxjs-interop';
10
+ import { map, BehaviorSubject, finalize, Observable, forkJoin, throwError, of, isObservable, Subject, take as take$1, tap as tap$1, catchError as catchError$1, takeUntil as takeUntil$1, ReplaySubject, distinctUntilChanged as distinctUntilChanged$1 } from 'rxjs';
11
+ import { retry, timeout, catchError, take, map as map$1, finalize as finalize$1, switchMap, takeUntil, mergeMap, tap, debounceTime, distinctUntilChanged } from 'rxjs/operators';
8
12
  import * as i4 from 'primeng/api';
9
- import * as i1$2 from '@angular/forms';
13
+ import * as i1$1 from '@angular/forms';
10
14
  import { FormGroup, ReactiveFormsModule } from '@angular/forms';
11
15
  import * as i2 from '@ngx-formly/core';
12
16
  import { FieldType, FormlyModule, FieldWrapper } from '@ngx-formly/core';
13
- import * as i1$3 from '@angular/common';
14
- import { CommonModule, formatDate } from '@angular/common';
15
17
  import * as i3 from 'primeng/inputtext';
16
18
  import { InputTextModule } from 'primeng/inputtext';
17
19
  import * as i4$1 from 'primeng/select';
@@ -137,23 +139,46 @@ var TaskRole;
137
139
  const KEYCLOAK_CONFIG = new InjectionToken('KEYCLOAK_CONFIG');
138
140
 
139
141
  class KeycloakService {
140
- config;
141
- http;
142
- keycloak;
143
- isAuthenticated$ = new BehaviorSubject(false);
144
- userProfile$ = new BehaviorSubject(null);
145
- constructor(config, http) {
146
- this.config = config;
147
- this.http = http;
142
+ http = inject(HttpClient);
143
+ platformId = inject(PLATFORM_ID);
144
+ config = inject(KEYCLOAK_CONFIG);
145
+ isBrowser = isPlatformBrowser(this.platformId);
146
+ #keycloakInstance = signal(null);
147
+ #isAuthenticated = signal(false);
148
+ #userProfile = signal(null);
149
+ isAuthenticated$ = computed(() => this.#isAuthenticated());
150
+ userProfile$ = computed(() => this.#userProfile());
151
+ loadKeycloakScript() {
152
+ if (!this.isBrowser)
153
+ return Promise.resolve();
154
+ if (typeof Keycloak !== 'undefined')
155
+ return Promise.resolve();
156
+ return new Promise((resolve, reject) => {
157
+ const script = document.createElement('script');
158
+ script.src = `${this.config.authServerUrl}/js/keycloak.js`;
159
+ script.async = true;
160
+ script.onload = () => resolve();
161
+ script.onerror = () => reject(new Error('Failed to load Keycloak script'));
162
+ document.head.appendChild(script);
163
+ });
164
+ }
165
+ getSilentCheckUrl() {
166
+ if (!this.isBrowser)
167
+ return '';
168
+ return `${window.location.origin}/node_modules/@codex-ts/core-lib/assets/keycloak/silent-check-sso.html`;
148
169
  }
149
170
  async initialize() {
171
+ if (!this.isBrowser)
172
+ return false;
150
173
  try {
151
- this.keycloak = new Keycloak(this.config);
152
- const authenticated = await this.keycloak.init({
174
+ await this.loadKeycloakScript();
175
+ const keycloak = new Keycloak(this.config);
176
+ this.#keycloakInstance.set(keycloak);
177
+ const authenticated = await keycloak.init({
153
178
  onLoad: 'check-sso',
154
- silentCheckSsoRedirectUri: this.config.silentCheckSsoRedirectUri
179
+ silentCheckSsoRedirectUri: this.getSilentCheckUrl()
155
180
  });
156
- this.isAuthenticated$.next(authenticated);
181
+ this.#isAuthenticated.set(authenticated);
157
182
  if (authenticated) {
158
183
  await this.loadUserProfile();
159
184
  }
@@ -169,18 +194,15 @@ class KeycloakService {
169
194
  ...this.config.loginOptions,
170
195
  ...options
171
196
  };
172
- return this.keycloak.login(loginOptions);
197
+ return this.#keycloakInstance()?.login(loginOptions);
173
198
  }
174
199
  logout() {
175
- return this.keycloak.logout();
176
- }
177
- isLoggedIn() {
178
- return this.isAuthenticated$.asObservable();
200
+ return this.#keycloakInstance()?.logout();
179
201
  }
180
202
  async getToken() {
181
203
  try {
182
204
  await this.updateToken(this.config.tokenValidityInSeconds || 60);
183
- return this.keycloak.token;
205
+ return this.#keycloakInstance()?.token;
184
206
  }
185
207
  catch (error) {
186
208
  console.error('Failed to get token:', error);
@@ -188,24 +210,23 @@ class KeycloakService {
188
210
  }
189
211
  }
190
212
  getRoles() {
191
- if (!this.keycloak?.realmAccess?.roles) {
213
+ const keycloak = this.#keycloakInstance();
214
+ if (!keycloak?.realmAccess?.roles) {
192
215
  return [];
193
216
  }
194
- return this.keycloak.realmAccess.roles;
217
+ return keycloak.realmAccess.roles;
195
218
  }
196
219
  hasRole(role) {
197
220
  return this.getRoles().includes(role);
198
221
  }
199
- getUserProfile() {
200
- return this.userProfile$.asObservable();
201
- }
202
222
  updateToken(minValidity = 60) {
203
223
  return new Promise((resolve, reject) => {
204
- if (!this.keycloak?.token) {
224
+ const keycloak = this.#keycloakInstance();
225
+ if (!keycloak?.token) {
205
226
  resolve(false);
206
227
  return;
207
228
  }
208
- this.keycloak.updateToken(minValidity)
229
+ keycloak.updateToken(minValidity)
209
230
  .then((refreshed) => {
210
231
  resolve(refreshed);
211
232
  })
@@ -217,80 +238,63 @@ class KeycloakService {
217
238
  }
218
239
  async loadUserProfile() {
219
240
  try {
220
- const profile = await this.keycloak.loadUserProfile();
221
- this.userProfile$.next(profile);
241
+ const keycloak = this.#keycloakInstance();
242
+ if (!keycloak)
243
+ return;
244
+ const profile = await keycloak.loadUserProfile();
245
+ this.#userProfile.set(profile);
222
246
  }
223
247
  catch (error) {
224
248
  console.error('Failed to load user profile:', error);
225
249
  }
226
250
  }
227
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KeycloakService, deps: [{ token: KEYCLOAK_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
251
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KeycloakService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
228
252
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KeycloakService, providedIn: 'root' });
229
253
  }
230
254
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KeycloakService, decorators: [{
231
255
  type: Injectable,
232
256
  args: [{ providedIn: 'root' }]
233
- }], ctorParameters: () => [{ type: undefined, decorators: [{
234
- type: Inject,
235
- args: [KEYCLOAK_CONFIG]
236
- }] }, { type: i1.HttpClient }] });
257
+ }] });
258
+
259
+ function provideKeycloak(config) {
260
+ return [
261
+ importProvidersFrom(HttpClientModule),
262
+ {
263
+ provide: KEYCLOAK_CONFIG,
264
+ useValue: config
265
+ },
266
+ KeycloakService
267
+ ];
268
+ }
237
269
 
238
270
  class KeycloakAuthGuard {
239
- keycloakService;
240
- router;
241
- constructor(keycloakService, router) {
242
- this.keycloakService = keycloakService;
243
- this.router = router;
244
- }
271
+ keycloakService = inject(KeycloakService);
272
+ router = inject(Router);
245
273
  canActivate(route, state) {
246
- return this.keycloakService.isLoggedIn().pipe(map(authenticated => {
247
- // Handle authentication check
274
+ return toObservable(this.keycloakService.isAuthenticated$).pipe(map(authenticated => {
248
275
  if (!authenticated) {
249
276
  this.keycloakService.login({
250
277
  redirectUri: window.location.origin + state.url
251
278
  });
252
279
  return false;
253
280
  }
254
- // Handle role-based access
255
281
  const requiredRoles = route.data['roles'];
256
282
  if (requiredRoles && !this.hasRequiredRoles(requiredRoles)) {
257
- // Redirect to unauthorized page if roles don't match
258
283
  return this.router.createUrlTree(['/unauthorized']);
259
284
  }
260
285
  return true;
261
286
  }));
262
287
  }
263
288
  hasRequiredRoles(requiredRoles) {
264
- const userRoles = this.keycloakService.getRoles();
265
- return requiredRoles.every(role => userRoles.includes(role));
289
+ return requiredRoles.every(role => this.keycloakService.getRoles().includes(role));
266
290
  }
267
- /**
268
- * Checks if all required roles are present
269
- * @param route Route being activated
270
- * @returns true if no roles are required or if all required roles are present
271
- */
272
- checkRoles(route) {
273
- const requiredRoles = route.data['roles'];
274
- if (!requiredRoles || requiredRoles.length === 0) {
275
- return true;
276
- }
277
- return this.hasRequiredRoles(requiredRoles);
278
- }
279
- /**
280
- * Gets redirect URL from route if present
281
- * @param state Router state
282
- * @returns URL to redirect to after login or undefined
283
- */
284
- getLoginRedirectUrl(state) {
285
- return window.location.origin + state.url;
286
- }
287
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KeycloakAuthGuard, deps: [{ token: KeycloakService }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
291
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KeycloakAuthGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
288
292
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KeycloakAuthGuard, providedIn: 'root' });
289
293
  }
290
294
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: KeycloakAuthGuard, decorators: [{
291
295
  type: Injectable,
292
296
  args: [{ providedIn: 'root' }]
293
- }], ctorParameters: () => [{ type: KeycloakService }, { type: i1$1.Router }] });
297
+ }] });
294
298
 
295
299
  /**
296
300
  * A general-purpose HTTP utility service that provides enhanced HTTP operations
@@ -1044,7 +1048,7 @@ class FormService {
1044
1048
  return of(void 0);
1045
1049
  }
1046
1050
  this.formState.loading = true;
1047
- return this.entityService.getById(uuid).pipe(take(1), map(data => {
1051
+ return this.entityService.getById(uuid).pipe(take(1), map$1(data => {
1048
1052
  this.updateFormState(data);
1049
1053
  }), finalize$1(() => this.formState.loading = false));
1050
1054
  }
@@ -1064,7 +1068,7 @@ class FormService {
1064
1068
  }
1065
1069
  this.formState.loading = true;
1066
1070
  const operation$ = this.getSubmitOperation();
1067
- return operation$.pipe(finalize$1(() => this.formState.loading = false), map(result => {
1071
+ return operation$.pipe(finalize$1(() => this.formState.loading = false), map$1(result => {
1068
1072
  this.notificationService.showSuccess(`${this.entityName} ${AppMessages.FORM.SUCCESS.SAVE}`);
1069
1073
  return result;
1070
1074
  }));
@@ -1144,7 +1148,7 @@ class TextInputType extends FieldType {
1144
1148
  [placeholder]="props['placeholder'] || ''"
1145
1149
  [attr.aria-label]="props['label'] || props['placeholder'] || ''"
1146
1150
  class="w-full"/>
1147
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }] });
1151
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }] });
1148
1152
  }
1149
1153
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TextInputType, decorators: [{
1150
1154
  type: Component,
@@ -1198,7 +1202,7 @@ class SelectType extends FieldType {
1198
1202
  styleClass="w-full">
1199
1203
  </p-select>
1200
1204
  </ng-container>
1201
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i4$1.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] });
1205
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i4$1.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] });
1202
1206
  }
1203
1207
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: SelectType, decorators: [{
1204
1208
  type: Component,
@@ -1251,7 +1255,7 @@ class RadioType extends FieldType {
1251
1255
  </div>
1252
1256
  </ng-container>
1253
1257
  </div>
1254
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: i4$2.RadioButton, selector: "p-radioButton, p-radiobutton, p-radio-button", inputs: ["value", "formControlName", "name", "disabled", "variant", "size", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "autofocus", "binary"], outputs: ["onClick", "onFocus", "onBlur"] }] });
1258
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: i4$2.RadioButton, selector: "p-radioButton, p-radiobutton, p-radio-button", inputs: ["value", "formControlName", "name", "disabled", "variant", "size", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "autofocus", "binary"], outputs: ["onClick", "onFocus", "onBlur"] }] });
1255
1259
  }
1256
1260
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: RadioType, decorators: [{
1257
1261
  type: Component,
@@ -1314,7 +1318,7 @@ class NumericInputType extends FieldType {
1314
1318
  [showButtons]="true"
1315
1319
  class="w-full">
1316
1320
  </p-inputNumber>
1317
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i3$1.InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled", "fluid"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }] });
1321
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i3$1.InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled", "fluid"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }] });
1318
1322
  }
1319
1323
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NumericInputType, decorators: [{
1320
1324
  type: Component,
@@ -1382,7 +1386,7 @@ class MultiselectType extends FieldType {
1382
1386
  styleClass="w-full">
1383
1387
  </p-multiSelect>
1384
1388
  </ng-container>
1385
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i4$3.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "fluid", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "size", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }] });
1389
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i4$3.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "fluid", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "size", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }] });
1386
1390
  }
1387
1391
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: MultiselectType, decorators: [{
1388
1392
  type: Component,
@@ -1483,7 +1487,7 @@ class DateType extends FieldType {
1483
1487
  (onSelect)="onDateSelect($event)"
1484
1488
  (onInput)="onDateInput($event)">
1485
1489
  </p-datepicker>
1486
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i3$2.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }] });
1490
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i3$2.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }] });
1487
1491
  }
1488
1492
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DateType, decorators: [{
1489
1493
  type: Component,
@@ -1537,7 +1541,7 @@ class CheckboxType extends FieldType {
1537
1541
  {{props['checkboxLabel'] || ''}}
1538
1542
  </p-checkbox>
1539
1543
  </div>
1540
- `, isInline: true, styles: [".checkbox-container{display:flex;align-items:center;height:40px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i3$3.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "name", "disabled", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "inputStyle", "styleClass", "inputClass", "indeterminate", "size", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }] });
1544
+ `, isInline: true, styles: [".checkbox-container{display:flex;align-items:center;height:40px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i3$3.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "name", "disabled", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "inputStyle", "styleClass", "inputClass", "indeterminate", "size", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }] });
1541
1545
  }
1542
1546
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: CheckboxType, decorators: [{
1543
1547
  type: Component,
@@ -1580,7 +1584,7 @@ class TextareaType extends FieldType {
1580
1584
  [placeholder]="props['placeholder'] || ''"
1581
1585
  class="w-full">
1582
1586
  </textarea>
1583
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: Textarea }, { kind: "directive", type: i3$4.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize", "variant", "fluid"], outputs: ["onResize"] }] });
1587
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: Textarea }, { kind: "directive", type: i3$4.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize", "variant", "fluid"], outputs: ["onResize"] }] });
1584
1588
  }
1585
1589
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TextareaType, decorators: [{
1586
1590
  type: Component,
@@ -1647,7 +1651,7 @@ class FormFieldWrapper extends FieldWrapper {
1647
1651
  {{ errorMessage }}
1648
1652
  </small>
1649
1653
  </div>
1650
- `, isInline: true, styles: [":is() .required-star{color:var(--red-500);margin-left:.25rem}:is() .p-input-error :where(input,.p-inputtext){border-color:var(--red-500)}:is() .p-input-error :where(input:enabled:focus,.p-inputtext:enabled:focus){border-color:var(--red-500);box-shadow:0 0 0 1px var(--red-500)}:is() .p-error{color:var(--red-500);margin-top:.5rem}:is() small{color:var(--text-color-secondary)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
1654
+ `, isInline: true, styles: [":is() .required-star{color:var(--red-500);margin-left:.25rem}:is() .p-input-error :where(input,.p-inputtext){border-color:var(--red-500)}:is() .p-input-error :where(input:enabled:focus,.p-inputtext:enabled:focus){border-color:var(--red-500);box-shadow:0 0 0 1px var(--red-500)}:is() .p-error{color:var(--red-500);margin-top:.5rem}:is() small{color:var(--text-color-secondary)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
1651
1655
  }
1652
1656
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: FormFieldWrapper, decorators: [{
1653
1657
  type: Component,
@@ -1803,7 +1807,7 @@ class BaseFormComponent extends BasePageComponent {
1803
1807
  });
1804
1808
  }
1805
1809
  initializeForm() {
1806
- return this.route.queryParams.pipe(take(1), map(params => {
1810
+ return this.route.queryParams.pipe(take(1), map$1(params => {
1807
1811
  this.initializeFormMode(params[AppConstants.FORM.MODE]);
1808
1812
  this.setupFormState();
1809
1813
  this.initializeFormSubscriptions();
@@ -1824,7 +1828,7 @@ class BaseFormComponent extends BasePageComponent {
1824
1828
  throw new Error(`UUID is required for ${this.state.mode} mode`);
1825
1829
  }
1826
1830
  return this.getEntityOperations().getById(uuid)
1827
- .pipe(tap(data => this.updateFormState(data)), map(() => void 0));
1831
+ .pipe(tap(data => this.updateFormState(data)), map$1(() => void 0));
1828
1832
  }));
1829
1833
  }
1830
1834
  getRouterState() {
@@ -2023,7 +2027,7 @@ class BaseFormComponent extends BasePageComponent {
2023
2027
  isInContext(contextType) {
2024
2028
  return this.state.context === contextType;
2025
2029
  }
2026
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseFormComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: NotificationService }, { token: UtilsService }, { token: FormlyConfigService }], target: i0.ɵɵFactoryTarget.Component });
2030
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseFormComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: i1$3.Router }, { token: NotificationService }, { token: UtilsService }, { token: FormlyConfigService }], target: i0.ɵɵFactoryTarget.Component });
2027
2031
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: BaseFormComponent, isStandalone: true, selector: "ng-component", inputs: { formData: "formData" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
2028
2032
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseFormComponent });
2029
2033
  }
@@ -2034,7 +2038,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
2034
2038
  args: [{
2035
2039
  template: ''
2036
2040
  }]
2037
- }], ctorParameters: () => [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: NotificationService }, { type: UtilsService }, { type: FormlyConfigService }], propDecorators: { formData: [{
2041
+ }], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: i1$3.Router }, { type: NotificationService }, { type: UtilsService }, { type: FormlyConfigService }], propDecorators: { formData: [{
2038
2042
  type: Input
2039
2043
  }] } });
2040
2044
 
@@ -2326,12 +2330,12 @@ class BaseListPageComponent extends BaseTableComponent {
2326
2330
  }
2327
2331
  return true;
2328
2332
  }
2329
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseListPageComponent, deps: [{ token: i1$1.Router }, { token: NotificationService }, { token: UtilsService }, { token: i4.ConfirmationService }], target: i0.ɵɵFactoryTarget.Directive });
2333
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseListPageComponent, deps: [{ token: i1$3.Router }, { token: NotificationService }, { token: UtilsService }, { token: i4.ConfirmationService }], target: i0.ɵɵFactoryTarget.Directive });
2330
2334
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: BaseListPageComponent, isStandalone: true, usesInheritance: true, ngImport: i0 });
2331
2335
  }
2332
2336
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseListPageComponent, decorators: [{
2333
2337
  type: Directive
2334
- }], ctorParameters: () => [{ type: i1$1.Router }, { type: NotificationService }, { type: UtilsService }, { type: i4.ConfirmationService }] });
2338
+ }], ctorParameters: () => [{ type: i1$3.Router }, { type: NotificationService }, { type: UtilsService }, { type: i4.ConfirmationService }] });
2335
2339
 
2336
2340
  class BaseTabbedFormComponent extends BasePageComponent {
2337
2341
  route;
@@ -2403,7 +2407,7 @@ class BaseTabbedFormComponent extends BasePageComponent {
2403
2407
  activeTab: tabs[0]?.value || ''
2404
2408
  };
2405
2409
  // Then initialize form
2406
- this.route.queryParams.pipe(take$1(1), tap$1(() => this.state = { ...this.state, loading: true }), tap$1(params => this.initializeForm(params)), map$1(() => void 0), catchError$1(error => {
2410
+ this.route.queryParams.pipe(take$1(1), tap$1(() => this.state = { ...this.state, loading: true }), tap$1(params => this.initializeForm(params)), map(() => void 0), catchError$1(error => {
2407
2411
  console.error('Error initializing form:', error);
2408
2412
  this.showError(AppMessages.FORM.ERROR.INIT);
2409
2413
  return of(void 0);
@@ -2459,7 +2463,7 @@ class BaseTabbedFormComponent extends BasePageComponent {
2459
2463
  }
2460
2464
  }
2461
2465
  loadFromUuid() {
2462
- this.route.queryParams.pipe(take$1(1), map$1((params) => {
2466
+ this.route.queryParams.pipe(take$1(1), map((params) => {
2463
2467
  const uuid = params[AppConstants.FORM.UUID];
2464
2468
  if (!uuid) {
2465
2469
  throw new Error(`UUID is required for ${this.state.mode} mode when no formData is provided`);
@@ -2619,7 +2623,7 @@ class BaseTabbedFormComponent extends BasePageComponent {
2619
2623
  getTabTitle(data) {
2620
2624
  throw new Error('Method not implemented.');
2621
2625
  }
2622
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTabbedFormComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: NotificationService }, { token: UtilsService }], target: i0.ɵɵFactoryTarget.Component });
2626
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTabbedFormComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: i1$3.Router }, { token: NotificationService }, { token: UtilsService }], target: i0.ɵɵFactoryTarget.Component });
2623
2627
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: BaseTabbedFormComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
2624
2628
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTabbedFormComponent });
2625
2629
  }
@@ -2630,7 +2634,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
2630
2634
  args: [{
2631
2635
  template: ''
2632
2636
  }]
2633
- }], ctorParameters: () => [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: NotificationService }, { type: UtilsService }] });
2637
+ }], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: i1$3.Router }, { type: NotificationService }, { type: UtilsService }] });
2634
2638
 
2635
2639
  class BaseListTabbedFormComponent extends BasePageComponent {
2636
2640
  route;
@@ -2802,7 +2806,7 @@ class BaseListTabbedFormComponent extends BasePageComponent {
2802
2806
  isValidPageMode(mode) {
2803
2807
  return Object.values(AppConstants.PAGE_MODE).includes(mode);
2804
2808
  }
2805
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseListTabbedFormComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: NotificationService }, { token: UtilsService }], target: i0.ɵɵFactoryTarget.Component });
2809
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseListTabbedFormComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: i1$3.Router }, { token: NotificationService }, { token: UtilsService }], target: i0.ɵɵFactoryTarget.Component });
2806
2810
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: BaseListTabbedFormComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
2807
2811
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseListTabbedFormComponent });
2808
2812
  }
@@ -2813,7 +2817,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
2813
2817
  args: [{
2814
2818
  template: ''
2815
2819
  }]
2816
- }], ctorParameters: () => [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: NotificationService }, { type: UtilsService }] });
2820
+ }], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: i1$3.Router }, { type: NotificationService }, { type: UtilsService }] });
2817
2821
 
2818
2822
  /**
2819
2823
  * Base component for all task detail components in the application.
@@ -2847,7 +2851,7 @@ class BaseTaskDetailsComponent extends BasePageComponent {
2847
2851
  this.formlyConfigService = formlyConfigService;
2848
2852
  }
2849
2853
  initializeServices() {
2850
- return of(void 0).pipe(map(() => {
2854
+ return of(void 0).pipe(map$1(() => {
2851
2855
  this.formService = new FormService(this.getEntityService(), this.formlyConfigService, this.notificationService, this.getEntityName(), this.getJsonFields(), this.getDropdownOptions());
2852
2856
  this.state = this.formService.getState();
2853
2857
  this.loading = this.state.loading;
@@ -2862,7 +2866,7 @@ class BaseTaskDetailsComponent extends BasePageComponent {
2862
2866
  });
2863
2867
  }
2864
2868
  initializeFromRoute() {
2865
- return this.route.queryParams.pipe(map(params => {
2869
+ return this.route.queryParams.pipe(map$1(params => {
2866
2870
  const mode = params[AppConstants.FORM.MODE];
2867
2871
  if (mode) {
2868
2872
  this.formService.setMode(mode);
@@ -2928,12 +2932,12 @@ class BaseTaskDetailsComponent extends BasePageComponent {
2928
2932
  this.destroyed$.next();
2929
2933
  this.destroyed$.complete();
2930
2934
  }
2931
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTaskDetailsComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: NotificationService }, { token: UtilsService }, { token: FormlyConfigService }], target: i0.ɵɵFactoryTarget.Directive });
2935
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTaskDetailsComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: i1$3.Router }, { token: NotificationService }, { token: UtilsService }, { token: FormlyConfigService }], target: i0.ɵɵFactoryTarget.Directive });
2932
2936
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: BaseTaskDetailsComponent, isStandalone: true, usesInheritance: true, ngImport: i0 });
2933
2937
  }
2934
2938
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTaskDetailsComponent, decorators: [{
2935
2939
  type: Directive
2936
- }], ctorParameters: () => [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: NotificationService }, { type: UtilsService }, { type: FormlyConfigService }] });
2940
+ }], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: i1$3.Router }, { type: NotificationService }, { type: UtilsService }, { type: FormlyConfigService }] });
2937
2941
 
2938
2942
  /**
2939
2943
  * Base component for all task dashboard components in the application.
@@ -3055,12 +3059,12 @@ class BaseTaskDashboardComponent extends BaseTableComponent {
3055
3059
  }
3056
3060
  return true;
3057
3061
  }
3058
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTaskDashboardComponent, deps: [{ token: i1$1.Router }, { token: NotificationService }, { token: UtilsService }, { token: i4.ConfirmationService }], target: i0.ɵɵFactoryTarget.Directive });
3062
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTaskDashboardComponent, deps: [{ token: i1$3.Router }, { token: NotificationService }, { token: UtilsService }, { token: i4.ConfirmationService }], target: i0.ɵɵFactoryTarget.Directive });
3059
3063
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: BaseTaskDashboardComponent, isStandalone: true, usesInheritance: true, ngImport: i0 });
3060
3064
  }
3061
3065
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: BaseTaskDashboardComponent, decorators: [{
3062
3066
  type: Directive
3063
- }], ctorParameters: () => [{ type: i1$1.Router }, { type: NotificationService }, { type: UtilsService }, { type: i4.ConfirmationService }] });
3067
+ }], ctorParameters: () => [{ type: i1$3.Router }, { type: NotificationService }, { type: UtilsService }, { type: i4.ConfirmationService }] });
3064
3068
 
3065
3069
  class IndianDatePipe {
3066
3070
  datePipe;
@@ -3096,7 +3100,7 @@ class IndianDatePipe {
3096
3100
  return value; // original dd-MM-yyyy
3097
3101
  }
3098
3102
  }
3099
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: IndianDatePipe, deps: [{ token: i1$3.DatePipe }], target: i0.ɵɵFactoryTarget.Pipe });
3103
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: IndianDatePipe, deps: [{ token: i1$2.DatePipe }], target: i0.ɵɵFactoryTarget.Pipe });
3100
3104
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: IndianDatePipe, isStandalone: true, name: "indianDate" });
3101
3105
  }
3102
3106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: IndianDatePipe, decorators: [{
@@ -3105,7 +3109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
3105
3109
  name: 'indianDate',
3106
3110
  standalone: true
3107
3111
  }]
3108
- }], ctorParameters: () => [{ type: i1$3.DatePipe }] });
3112
+ }], ctorParameters: () => [{ type: i1$2.DatePipe }] });
3109
3113
 
3110
3114
  /*
3111
3115
  * Public API Surface of core-lib
@@ -3116,5 +3120,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
3116
3120
  * Generated bundle index. Do not edit.
3117
3121
  */
3118
3122
 
3119
- export { AppConstants, AppMessages, BaseCrudService, BaseFormComponent, BaseListPageComponent, BaseListTabbedFormComponent, BasePageComponent, BaseTabbedFormComponent, BaseTaskDashboardComponent, BaseTaskDetailsComponent, BaseTaskService, ComponentContext, CoreFormlyModule, FormService, FormlyConfigService, HttpUtilityService, IndianDatePipe, KEYCLOAK_CONFIG, KeycloakAuthGuard, KeycloakService, NotificationService, TabbedFormType, TaskRole, UtilsService };
3123
+ export { AppConstants, AppMessages, BaseCrudService, BaseFormComponent, BaseListPageComponent, BaseListTabbedFormComponent, BasePageComponent, BaseTabbedFormComponent, BaseTaskDashboardComponent, BaseTaskDetailsComponent, BaseTaskService, ComponentContext, CoreFormlyModule, FormService, FormlyConfigService, HttpUtilityService, IndianDatePipe, KEYCLOAK_CONFIG, KeycloakAuthGuard, KeycloakService, NotificationService, TabbedFormType, TaskRole, UtilsService, provideKeycloak };
3120
3124
  //# sourceMappingURL=codex-ts-core-lib.mjs.map