@jm-7c3/common-lib 22.0.0 → 22.2.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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, signal, effect, ChangeDetectionStrategy, Component, Injectable, inject, Inject, ChangeDetectorRef, viewChild, ViewContainerRef, output, InjectionToken, Directive, contentChild, computed, ViewEncapsulation, NgModule } from '@angular/core';
2
+ import { input, signal, effect, ChangeDetectionStrategy, Component, Injectable, inject, Inject, ChangeDetectorRef, viewChild, ViewContainerRef, Service, Directive, contentChild, output, InjectionToken, computed, ViewEncapsulation, NgModule } from '@angular/core';
3
3
  import * as i1 from 'primeng/button';
4
4
  import { ButtonModule } from 'primeng/button';
5
5
  import * as i2 from 'primeng/api';
@@ -8,20 +8,26 @@ import * as i1$1 from 'primeng/confirmdialog';
8
8
  import { ConfirmDialogModule } from 'primeng/confirmdialog';
9
9
  import { toObservable } from '@angular/core/rxjs-interop';
10
10
  import { signalState, patchState } from '@ngrx/signals';
11
- import { filter, map, Subscription, concatWith, toArray } from 'rxjs';
11
+ import { filter, map, Subject, takeUntil, Subscription, concatWith, toArray } from 'rxjs';
12
12
  import * as i1$2 from '@angular/common';
13
13
  import { CommonModule } from '@angular/common';
14
14
  import { DynamicDialogConfig, DynamicDialogRef, DialogService, DynamicDialogModule } from 'primeng/dynamicdialog';
15
15
  import * as i2$2 from '@angular/forms';
16
16
  import { FormsModule, ReactiveFormsModule, NG_VALUE_ACCESSOR, FormControl, Validators, FormArray, NG_VALIDATORS, FormControlName } from '@angular/forms';
17
- import * as i1$3 from 'primeng/dialog';
17
+ import * as i1$3 from '@angular/material/dialog';
18
+ import { MAT_DIALOG_DATA, MatDialogModule, MatDialog, MatDialogRef } from '@angular/material/dialog';
19
+ import * as i1$4 from '@angular/material/button';
20
+ import { MatButtonModule } from '@angular/material/button';
21
+ import * as i1$5 from 'primeng/dialog';
18
22
  import { DialogModule } from 'primeng/dialog';
19
23
  import * as i2$1 from 'primeng/progressbar';
20
24
  import { ProgressBarModule } from 'primeng/progressbar';
21
- import * as i1$4 from 'primeng/toast';
25
+ import * as i1$6 from 'primeng/toast';
22
26
  import { ToastModule } from 'primeng/toast';
23
27
  import { cloneDeep } from 'lodash-es';
24
28
  import { v4 } from 'uuid';
29
+ import * as i2$3 from '@angular/material/icon';
30
+ import { MatIconModule } from '@angular/material/icon';
25
31
 
26
32
  class ButtonComponent {
27
33
  color = input('primary', /* @ts-ignore */
@@ -59,10 +65,10 @@ class ButtonComponent {
59
65
  }
60
66
  });
61
67
  }
62
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ButtonComponent, isStandalone: true, selector: "cl-button", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<button [class]=\"buttonClass()\" [disabled]=\"disabled()\" [icon]=\"icon()!\" [label]=\"label()!\" [loading]=\"loading()\" pButton\n [type]=\"type()\">\n</button>\n", styles: [".p-button-text.p-button-info{text-decoration:underline}.p-button-text.p-button-info:not(:disabled):hover{background:none!important}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
68
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
69
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.6", type: ButtonComponent, isStandalone: true, selector: "cl-button", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<button [class]=\"buttonClass()\" [disabled]=\"disabled()\" [icon]=\"icon()!\" [label]=\"label()!\" [loading]=\"loading()\" pButton\n [type]=\"type()\">\n</button>\n", styles: [".p-button-text.p-button-info{text-decoration:underline}.p-button-text.p-button-info:not(:disabled):hover{background:none!important}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
64
70
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ButtonComponent, decorators: [{
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ButtonComponent, decorators: [{
66
72
  type: Component,
67
73
  args: [{ selector: 'cl-button', imports: [
68
74
  ButtonModule
@@ -82,10 +88,10 @@ class ClStateService {
82
88
  updateStateMessage(stateMessage) {
83
89
  patchState(this.state, { stateMessage });
84
90
  }
85
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ClStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
86
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ClStateService, providedIn: 'root' });
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ClStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
92
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ClStateService, providedIn: 'root' });
87
93
  }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ClStateService, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ClStateService, decorators: [{
89
95
  type: Injectable,
90
96
  args: [{
91
97
  providedIn: 'root'
@@ -142,10 +148,10 @@ class ConfirmationComponent {
142
148
  },
143
149
  });
144
150
  }
145
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ConfirmationComponent, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Component });
146
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: ConfirmationComponent, isStandalone: true, selector: "cl-confirmation", ngImport: i0, template: "<p-confirmDialog #general key=\"general\">\n <ng-template pTemplate=\"footer\">\n <cl-button class=\"mr-2\" (click)=\"general.onAccept()\" color=\"primary\" icon=\"pi pi-check\" [label]=\"acceptLabel()\" />\n <cl-button (click)=\"general.onReject()\" color=\"secondary\" icon=\"pi pi-times\" [label]=\"cancelLabel()\" />\n </ng-template>\n</p-confirmDialog>\n\n<p-confirmDialog icon=\"pi pi-exclamation-triangle\" key=\"general-warning\" #warning>\n <ng-template pTemplate=\"footer\">\n <cl-button class=\"mr-2\" (click)=\"warning.onAccept()\" color=\"primary\" icon=\"pi pi-check\" [label]=\"acceptLabel()\" />\n <cl-button (click)=\"warning.onReject()\" color=\"secondary\" icon=\"pi pi-times\" [label]=\"cancelLabel()\" />\n </ng-template>\n</p-confirmDialog>\n", styles: [""], dependencies: [{ kind: "component", type: ButtonComponent, selector: "cl-button", inputs: ["color", "disabled", "icon", "label", "loading", "type"] }, { kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i1$1.ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
151
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ConfirmationComponent, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Component });
152
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.6", type: ConfirmationComponent, isStandalone: true, selector: "cl-confirmation", ngImport: i0, template: "<p-confirmDialog #general key=\"general\">\n <ng-template pTemplate=\"footer\">\n <cl-button class=\"mr-2\" (click)=\"general.onAccept()\" color=\"primary\" icon=\"pi pi-check\" [label]=\"acceptLabel()\" />\n <cl-button (click)=\"general.onReject()\" color=\"secondary\" icon=\"pi pi-times\" [label]=\"cancelLabel()\" />\n </ng-template>\n</p-confirmDialog>\n\n<p-confirmDialog icon=\"pi pi-exclamation-triangle\" key=\"general-warning\" #warning>\n <ng-template pTemplate=\"footer\">\n <cl-button class=\"mr-2\" (click)=\"warning.onAccept()\" color=\"primary\" icon=\"pi pi-check\" [label]=\"acceptLabel()\" />\n <cl-button (click)=\"warning.onReject()\" color=\"secondary\" icon=\"pi pi-times\" [label]=\"cancelLabel()\" />\n </ng-template>\n</p-confirmDialog>\n", styles: [""], dependencies: [{ kind: "component", type: ButtonComponent, selector: "cl-button", inputs: ["color", "disabled", "icon", "label", "loading", "type"] }, { kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i1$1.ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
147
153
  }
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ConfirmationComponent, decorators: [{
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ConfirmationComponent, decorators: [{
149
155
  type: Component,
150
156
  args: [{ selector: 'cl-confirmation', imports: [
151
157
  ButtonComponent,
@@ -182,10 +188,10 @@ class ConfirmationService {
182
188
  onCancel(key) {
183
189
  return this.clStateService.onStateMessage('confirmation-cancel').pipe(filter(message => message?.key === key), map(() => null));
184
190
  }
185
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ConfirmationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
186
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
191
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ConfirmationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
192
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
187
193
  }
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ConfirmationService, decorators: [{
194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ConfirmationService, decorators: [{
189
195
  type: Injectable,
190
196
  args: [{
191
197
  providedIn: 'root'
@@ -229,10 +235,10 @@ class ContentDialogComponent {
229
235
  onClose() {
230
236
  this.dialogRef.close();
231
237
  }
232
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ContentDialogComponent, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Component });
233
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: ContentDialogComponent, isStandalone: true, selector: "cl-content-dialog", ngImport: i0, template: "@if (component()) {\n <ng-container *ngComponentOutlet=\"component()\" />\n}\n\n<div class=\"text-right\">\n <cl-button (click)=\"onClose()\" color=\"secondary\" [label]=\"closeLabel()\" />\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ButtonComponent, selector: "cl-button", inputs: ["color", "disabled", "icon", "label", "loading", "type"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
238
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ContentDialogComponent, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Component });
239
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: ContentDialogComponent, isStandalone: true, selector: "cl-content-dialog", ngImport: i0, template: "@if (component()) {\n <ng-container *ngComponentOutlet=\"component()\" />\n}\n\n<div class=\"text-right\">\n <cl-button (click)=\"onClose()\" color=\"secondary\" [label]=\"closeLabel()\" />\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ButtonComponent, selector: "cl-button", inputs: ["color", "disabled", "icon", "label", "loading", "type"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
234
240
  }
235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ContentDialogComponent, decorators: [{
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ContentDialogComponent, decorators: [{
236
242
  type: Component,
237
243
  args: [{ selector: 'cl-content-dialog', imports: [
238
244
  ButtonComponent,
@@ -266,10 +272,10 @@ class ContentDialogService {
266
272
  });
267
273
  });
268
274
  }
269
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ContentDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
270
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ContentDialogService, providedIn: 'root' });
275
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ContentDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
276
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ContentDialogService, providedIn: 'root' });
271
277
  }
272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ContentDialogService, decorators: [{
278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ContentDialogService, decorators: [{
273
279
  type: Injectable,
274
280
  args: [{
275
281
  providedIn: 'root'
@@ -338,10 +344,10 @@ class FormDialogComponent {
338
344
  this.dialogRef.close(this.form().value);
339
345
  }
340
346
  }
341
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FormDialogComponent, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Component });
342
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: FormDialogComponent, isStandalone: true, selector: "cl-form-dialog", viewQueries: [{ propertyName: "formContainer", first: true, predicate: ["formContainer"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<h2>{{ header() }}</h2>\n\n<div class=\"mb-2\">\n <ng-container #formContainer />\n</div>\n\n@if (form()) {\n <div class=\"text-right\">\n @if (!hideSubmitButton()) {\n <cl-button class=\"mr-2\" (click)=\"onSubmit()\" color=\"main\" [disabled]=\"form()!.invalid || form()!.pristine\"\n [label]=\"submitLabel()\" />\n }\n\n <cl-button (click)=\"onCancel()\" color=\"secondary\" [label]=\"cancelLabel()\" />\n </div>\n}\n", styles: [""], dependencies: [{ kind: "component", type: ButtonComponent, selector: "cl-button", inputs: ["color", "disabled", "icon", "label", "loading", "type"] }, { kind: "ngmodule", type: DynamicDialogModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
347
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FormDialogComponent, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Component });
348
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: FormDialogComponent, isStandalone: true, selector: "cl-form-dialog", viewQueries: [{ propertyName: "formContainer", first: true, predicate: ["formContainer"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<h2>{{ header() }}</h2>\n\n<div class=\"mb-2\">\n <ng-container #formContainer />\n</div>\n\n@if (form()) {\n <div class=\"text-right\">\n @if (!hideSubmitButton()) {\n <cl-button class=\"mr-2\" (click)=\"onSubmit()\" color=\"main\" [disabled]=\"form()!.invalid || form()!.pristine\"\n [label]=\"submitLabel()\" />\n }\n\n <cl-button (click)=\"onCancel()\" color=\"secondary\" [label]=\"cancelLabel()\" />\n </div>\n}\n", styles: [""], dependencies: [{ kind: "component", type: ButtonComponent, selector: "cl-button", inputs: ["color", "disabled", "icon", "label", "loading", "type"] }, { kind: "ngmodule", type: DynamicDialogModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
343
349
  }
344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FormDialogComponent, decorators: [{
350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FormDialogComponent, decorators: [{
345
351
  type: Component,
346
352
  args: [{ selector: 'cl-form-dialog', imports: [
347
353
  ButtonComponent,
@@ -390,10 +396,10 @@ class FormDialogService {
390
396
  }
391
397
  });
392
398
  }
393
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FormDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
394
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FormDialogService, providedIn: 'root' });
399
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FormDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
400
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FormDialogService, providedIn: 'root' });
395
401
  }
396
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FormDialogService, decorators: [{
402
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FormDialogService, decorators: [{
397
403
  type: Injectable,
398
404
  args: [{
399
405
  providedIn: 'root'
@@ -421,16 +427,166 @@ class IconButtonComponent {
421
427
  updateClass(severity) {
422
428
  this.class.update(value => value + ' p-button-' + severity);
423
429
  }
424
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
425
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: IconButtonComponent, isStandalone: true, selector: "cl-icon-button", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, severity: { classPropertyName: "severity", publicName: "severity", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<button [class]=\"class()\" [disabled]=\"disabled()\" [icon]=\"icon()\" [loading]=\"loading()\" pButton [type]=\"type()\">\n</button>\n", styles: ["button{border-radius:25px}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
430
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: IconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
431
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.6", type: IconButtonComponent, isStandalone: true, selector: "cl-icon-button", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, severity: { classPropertyName: "severity", publicName: "severity", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<button [class]=\"class()\" [disabled]=\"disabled()\" [icon]=\"icon()\" [loading]=\"loading()\" pButton [type]=\"type()\">\n</button>\n", styles: ["button{border-radius:25px}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
426
432
  }
427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IconButtonComponent, decorators: [{
433
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: IconButtonComponent, decorators: [{
428
434
  type: Component,
429
435
  args: [{ selector: 'cl-icon-button', imports: [
430
436
  ButtonModule,
431
437
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button [class]=\"class()\" [disabled]=\"disabled()\" [icon]=\"icon()\" [loading]=\"loading()\" pButton [type]=\"type()\">\n</button>\n", styles: ["button{border-radius:25px}\n"] }]
432
438
  }], ctorParameters: () => [], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: true }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], severity: [{ type: i0.Input, args: [{ isSignal: true, alias: "severity", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }] } });
433
439
 
440
+ class MatConfirmationComponent {
441
+ data = inject(MAT_DIALOG_DATA);
442
+ contentHost = viewChild.required('contentHost', { ...(ngDevMode ? { debugName: "contentHost" } : /* istanbul ignore next */ {}), read: ViewContainerRef });
443
+ title = signal('', /* @ts-ignore */
444
+ ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
445
+ message = signal(undefined, /* @ts-ignore */
446
+ ...(ngDevMode ? [{ debugName: "message" }] : /* istanbul ignore next */ []));
447
+ acceptButtonLabel = signal('Accept', /* @ts-ignore */
448
+ ...(ngDevMode ? [{ debugName: "acceptButtonLabel" }] : /* istanbul ignore next */ []));
449
+ cancelButtonLabel = signal('Cancel', /* @ts-ignore */
450
+ ...(ngDevMode ? [{ debugName: "cancelButtonLabel" }] : /* istanbul ignore next */ []));
451
+ ngAfterViewInit() {
452
+ const { acceptButtonLabel, cancelButtonLabel, component, message, title } = this.data;
453
+ this.acceptButtonLabel.set(acceptButtonLabel || 'Accept');
454
+ this.cancelButtonLabel.set(cancelButtonLabel || 'Cancel');
455
+ this.title.set(title ?? '');
456
+ if (component) {
457
+ this.contentHost().clear();
458
+ const componentRef = this.contentHost().createComponent(component);
459
+ Object.assign(componentRef.instance ?? {}, this.data.componentData);
460
+ }
461
+ else if (message) {
462
+ this.message.set(message);
463
+ }
464
+ }
465
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MatConfirmationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
466
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: MatConfirmationComponent, isStandalone: true, selector: "cl-mat-confirmation", viewQueries: [{ propertyName: "contentHost", first: true, predicate: ["contentHost"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<h2 mat-dialog-title>{{ title() }}</h2>\n\n<mat-dialog-content>\n @if (message()) {\n <p>{{ message() }}</p>\n }\n <ng-template #contentHost />\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button mat-button [mat-dialog-close]=\"false\">\n {{ cancelButtonLabel() }}\n </button>\n <button mat-flat-button color=\"primary\" [mat-dialog-close]=\"true\">\n {{ acceptButtonLabel() }}\n </button>\n</mat-dialog-actions>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1$3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }] });
467
+ }
468
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MatConfirmationComponent, decorators: [{
469
+ type: Component,
470
+ args: [{ selector: 'cl-mat-confirmation', standalone: true, imports: [CommonModule, MatDialogModule, MatButtonModule], template: "<h2 mat-dialog-title>{{ title() }}</h2>\n\n<mat-dialog-content>\n @if (message()) {\n <p>{{ message() }}</p>\n }\n <ng-template #contentHost />\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button mat-button [mat-dialog-close]=\"false\">\n {{ cancelButtonLabel() }}\n </button>\n <button mat-flat-button color=\"primary\" [mat-dialog-close]=\"true\">\n {{ acceptButtonLabel() }}\n </button>\n</mat-dialog-actions>" }]
471
+ }], propDecorators: { contentHost: [{ type: i0.ViewChild, args: ['contentHost', { ...{ read: ViewContainerRef }, isSignal: true }] }] } });
472
+
473
+ class MatConfirmationService {
474
+ dialog = inject(MatDialog);
475
+ confirm(data, width = '400px') {
476
+ const dialogRef = this.dialog.open(MatConfirmationComponent, {
477
+ data,
478
+ width,
479
+ disableClose: true,
480
+ });
481
+ return dialogRef.afterClosed().pipe(map((result) => result ?? false));
482
+ }
483
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MatConfirmationService, deps: [], target: i0.ɵɵFactoryTarget.Service });
484
+ static ɵprov = i0.ɵɵngDeclareService({ minVersion: "22.0.0", version: "22.0.6", ngImport: i0, type: MatConfirmationService });
485
+ }
486
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MatConfirmationService, decorators: [{
487
+ type: Service
488
+ }] });
489
+
490
+ // eslint-disable-next-line @angular-eslint/directive-class-suffix
491
+ class MatFormHostableComponent {
492
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MatFormHostableComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
493
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.6", type: MatFormHostableComponent, isStandalone: true, ngImport: i0 });
494
+ }
495
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MatFormHostableComponent, decorators: [{
496
+ type: Directive
497
+ }] });
498
+ class MatFormDialogComponent {
499
+ data = inject(MAT_DIALOG_DATA);
500
+ dialogRef = inject((MatDialogRef));
501
+ formHost = viewChild.required('formHost', { ...(ngDevMode ? { debugName: "formHost" } : /* istanbul ignore next */ {}), read: ViewContainerRef });
502
+ actionsAlign = signal('end', /* @ts-ignore */
503
+ ...(ngDevMode ? [{ debugName: "actionsAlign" }] : /* istanbul ignore next */ []));
504
+ cancelButtonLabel = signal('Cancel', /* @ts-ignore */
505
+ ...(ngDevMode ? [{ debugName: "cancelButtonLabel" }] : /* istanbul ignore next */ []));
506
+ submitButtonLabel = signal('Submit', /* @ts-ignore */
507
+ ...(ngDevMode ? [{ debugName: "submitButtonLabel" }] : /* istanbul ignore next */ []));
508
+ isFormValid = signal(false, /* @ts-ignore */
509
+ ...(ngDevMode ? [{ debugName: "isFormValid" }] : /* istanbul ignore next */ []));
510
+ hostedComponentRef;
511
+ destroy$ = new Subject();
512
+ title = signal('', /* @ts-ignore */
513
+ ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
514
+ ngAfterViewInit() {
515
+ const { component, dialogTitle, formDialogConfig, formValue } = this.data;
516
+ this.formHost().clear();
517
+ const componentRef = this.formHost().createComponent(component);
518
+ this.hostedComponentRef = componentRef.instance;
519
+ this.title.set(dialogTitle);
520
+ if (formDialogConfig) {
521
+ this.actionsAlign.set(formDialogConfig.actionsAlign || 'end');
522
+ this.cancelButtonLabel.set(formDialogConfig.cancelButtonLabel || 'Cancel');
523
+ this.submitButtonLabel.set(formDialogConfig.submitButtonLabel || 'Submit');
524
+ }
525
+ if (formValue) {
526
+ this.hostedComponentRef.form.patchValue(formValue);
527
+ }
528
+ this.hostedComponentRef?.form.statusChanges.pipe(takeUntil(this.destroy$)).subscribe(status => {
529
+ this.isFormValid.set(status === 'VALID');
530
+ });
531
+ }
532
+ ngOnDestroy() {
533
+ this.destroy$.next();
534
+ this.destroy$.complete();
535
+ }
536
+ onSubmit() {
537
+ this.dialogRef.close(this.hostedComponentRef?.form.value);
538
+ }
539
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MatFormDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
540
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.6", type: MatFormDialogComponent, isStandalone: true, selector: "cl-mat-form-dialog", viewQueries: [{ propertyName: "formHost", first: true, predicate: ["formHost"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<h2 mat-dialog-title>\n {{ title() }}\n</h2>\n\n<mat-dialog-content>\n <ng-template #formHost />\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button mat-button [mat-dialog-close]=\"undefined\" type=\"button\">\n {{ cancelButtonLabel() }}\n </button>\n <button mat-flat-button color=\"primary\" [disabled]=\"!isFormValid()\" (click)=\"onSubmit()\" type=\"button\">\n {{ submitButtonLabel() }}\n </button>\n</mat-dialog-actions>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1$3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
541
+ }
542
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MatFormDialogComponent, decorators: [{
543
+ type: Component,
544
+ args: [{ selector: 'cl-mat-form-dialog', imports: [
545
+ MatButtonModule,
546
+ MatDialogModule,
547
+ ], template: "<h2 mat-dialog-title>\n {{ title() }}\n</h2>\n\n<mat-dialog-content>\n <ng-template #formHost />\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button mat-button [mat-dialog-close]=\"undefined\" type=\"button\">\n {{ cancelButtonLabel() }}\n </button>\n <button mat-flat-button color=\"primary\" [disabled]=\"!isFormValid()\" (click)=\"onSubmit()\" type=\"button\">\n {{ submitButtonLabel() }}\n </button>\n</mat-dialog-actions>\n", styles: [":host{display:block}\n"] }]
548
+ }], propDecorators: { formHost: [{ type: i0.ViewChild, args: ['formHost', { ...{ read: ViewContainerRef }, isSignal: true }] }] } });
549
+
550
+ class MatFormDialogService {
551
+ dialog = inject(MatDialog);
552
+ open(component, dialogTitle, data) {
553
+ const dialogRef = this.dialog.open(MatFormDialogComponent, {
554
+ ...data?.matDialogConfig,
555
+ data: {
556
+ component,
557
+ dialogTitle,
558
+ formValue: data?.formValue,
559
+ formDialogConfig: data?.formDialogConfig
560
+ }
561
+ });
562
+ return dialogRef.afterClosed();
563
+ }
564
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MatFormDialogService, deps: [], target: i0.ɵɵFactoryTarget.Service });
565
+ static ɵprov = i0.ɵɵngDeclareService({ minVersion: "22.0.0", version: "22.0.6", ngImport: i0, type: MatFormDialogService });
566
+ }
567
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MatFormDialogService, decorators: [{
568
+ type: Service
569
+ }] });
570
+
571
+ class PanelComponent {
572
+ contentTemplate = contentChild('contentTemplate', /* @ts-ignore */
573
+ ...(ngDevMode ? [{ debugName: "contentTemplate" }] : /* istanbul ignore next */ []));
574
+ footerTemplate = contentChild('footerTemplate', /* @ts-ignore */
575
+ ...(ngDevMode ? [{ debugName: "footerTemplate" }] : /* istanbul ignore next */ []));
576
+ headerTemplate = contentChild('headerTemplate', /* @ts-ignore */
577
+ ...(ngDevMode ? [{ debugName: "headerTemplate" }] : /* istanbul ignore next */ []));
578
+ title = input('', /* @ts-ignore */
579
+ ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
580
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: PanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
581
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: PanelComponent, isStandalone: true, selector: "cl-panel", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true, isSignal: true }, { propertyName: "footerTemplate", first: true, predicate: ["footerTemplate"], descendants: true, isSignal: true }, { propertyName: "headerTemplate", first: true, predicate: ["headerTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"border-1 border-gray-300 p-5 rounded-lg\">\n @if (headerTemplate() || title()) {\n <div>\n @if (title()) {\n <div class=\"font-medium mb-5 text-xl\">\n {{ title() }}\n </div>\n } @else {\n <ng-container [ngTemplateOutlet]=\"headerTemplate()\" />\n }\n </div>\n }\n <div>\n <ng-container [ngTemplateOutlet]=\"contentTemplate()\" />\n </div>\n @if (footerTemplate()) {\n <div>\n <ng-container [ngTemplateOutlet]=\"footerTemplate()\" />\n </div>\n }\n</div>\n\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
582
+ }
583
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: PanelComponent, decorators: [{
584
+ type: Component,
585
+ args: [{ selector: 'cl-panel', imports: [
586
+ CommonModule,
587
+ ], template: "<div class=\"border-1 border-gray-300 p-5 rounded-lg\">\n @if (headerTemplate() || title()) {\n <div>\n @if (title()) {\n <div class=\"font-medium mb-5 text-xl\">\n {{ title() }}\n </div>\n } @else {\n <ng-container [ngTemplateOutlet]=\"headerTemplate()\" />\n }\n </div>\n }\n <div>\n <ng-container [ngTemplateOutlet]=\"contentTemplate()\" />\n </div>\n @if (footerTemplate()) {\n <div>\n <ng-container [ngTemplateOutlet]=\"footerTemplate()\" />\n </div>\n }\n</div>\n\n" }]
588
+ }], propDecorators: { contentTemplate: [{ type: i0.ContentChild, args: ['contentTemplate', { isSignal: true }] }], footerTemplate: [{ type: i0.ContentChild, args: ['footerTemplate', { isSignal: true }] }], headerTemplate: [{ type: i0.ContentChild, args: ['headerTemplate', { isSignal: true }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }] } });
589
+
434
590
  class ProgressBarDialogComponent {
435
591
  cdRef = inject(ChangeDetectorRef);
436
592
  clStateService = inject(ClStateService);
@@ -449,10 +605,10 @@ class ProgressBarDialogComponent {
449
605
  }
450
606
  });
451
607
  }
452
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ProgressBarDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
453
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: ProgressBarDialogComponent, isStandalone: true, selector: "cl-progress-bar-dialog", ngImport: i0, template: "<p-dialog [closable]=\"false\" [closeOnEscape]=\"false\" [draggable]=\"false\" [modal]=\"true\" [resizable]=\"false\"\n [showHeader]=\"true\" styleClass=\"w-4\" [(visible)]=\"visible\">\n <p-progressBar mode=\"indeterminate\" />\n</p-dialog>\n", styles: [":host ::ng-deep p-dialog .p-dialog-header{padding:1rem}\n"], dependencies: [{ kind: "ngmodule", type: DialogModule }, { kind: "component", type: i1$3.Dialog, selector: "p-dialog", inputs: ["hostName", "header", "draggable", "resizable", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "maskMotionOptions", "motionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "appendTo", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: ProgressBarModule }, { kind: "component", type: i2$1.ProgressBar, selector: "p-progressBar, p-progressbar, p-progress-bar", inputs: ["value", "showValue", "styleClass", "valueStyleClass", "unit", "mode", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
608
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ProgressBarDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
609
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.6", type: ProgressBarDialogComponent, isStandalone: true, selector: "cl-progress-bar-dialog", ngImport: i0, template: "<p-dialog [closable]=\"false\" [closeOnEscape]=\"false\" [draggable]=\"false\" [modal]=\"true\" [resizable]=\"false\"\n [showHeader]=\"true\" styleClass=\"w-4\" [(visible)]=\"visible\">\n <p-progressBar mode=\"indeterminate\" />\n</p-dialog>\n", styles: [":host ::ng-deep p-dialog .p-dialog-header{padding:1rem}\n"], dependencies: [{ kind: "ngmodule", type: DialogModule }, { kind: "component", type: i1$5.Dialog, selector: "p-dialog", inputs: ["hostName", "header", "draggable", "resizable", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "maskMotionOptions", "motionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "appendTo", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: ProgressBarModule }, { kind: "component", type: i2$1.ProgressBar, selector: "p-progressBar, p-progressbar, p-progress-bar", inputs: ["value", "showValue", "styleClass", "valueStyleClass", "unit", "mode", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
454
610
  }
455
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ProgressBarDialogComponent, decorators: [{
611
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ProgressBarDialogComponent, decorators: [{
456
612
  type: Component,
457
613
  args: [{ selector: 'cl-progress-bar-dialog', imports: [
458
614
  DialogModule,
@@ -472,10 +628,10 @@ class ProgressBarDialogService {
472
628
  type: 'progess-bar-dialog-open'
473
629
  });
474
630
  }
475
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ProgressBarDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
476
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ProgressBarDialogService, providedIn: 'root' });
631
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ProgressBarDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
632
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ProgressBarDialogService, providedIn: 'root' });
477
633
  }
478
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ProgressBarDialogService, decorators: [{
634
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ProgressBarDialogService, decorators: [{
479
635
  type: Injectable,
480
636
  args: [{
481
637
  providedIn: 'root'
@@ -487,10 +643,10 @@ class ReadonlyValueComponent {
487
643
  ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
488
644
  value = input(/* @ts-ignore */
489
645
  ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
490
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ReadonlyValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
491
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ReadonlyValueComponent, isStandalone: true, selector: "cl-readonly-value", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div>\n <strong>{{ label() }}</strong>\n <div>{{ value() }}</div>\n</div>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
646
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ReadonlyValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
647
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.6", type: ReadonlyValueComponent, isStandalone: true, selector: "cl-readonly-value", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div>\n <strong>{{ label() }}</strong>\n <div>{{ value() }}</div>\n</div>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
492
648
  }
493
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ReadonlyValueComponent, decorators: [{
649
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ReadonlyValueComponent, decorators: [{
494
650
  type: Component,
495
651
  args: [{ selector: 'cl-readonly-value', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\n <strong>{{ label() }}</strong>\n <div>{{ value() }}</div>\n</div>\n" }]
496
652
  }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }] } });
@@ -516,10 +672,10 @@ class ToastsComponent {
516
672
  this.messageService.add(message);
517
673
  });
518
674
  }
519
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ToastsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
520
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: ToastsComponent, isStandalone: true, selector: "cl-toasts", ngImport: i0, template: "<p-toast key=\"general\" position=\"bottom-center\" />\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ToastModule }, { kind: "component", type: i1$4.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "motionOptions", "breakpoints"], outputs: ["onClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
675
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ToastsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
676
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.6", type: ToastsComponent, isStandalone: true, selector: "cl-toasts", ngImport: i0, template: "<p-toast key=\"general\" position=\"bottom-center\" />\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ToastModule }, { kind: "component", type: i1$6.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "motionOptions", "breakpoints"], outputs: ["onClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
521
677
  }
522
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ToastsComponent, decorators: [{
678
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ToastsComponent, decorators: [{
523
679
  type: Component,
524
680
  args: [{ selector: 'cl-toasts', imports: [
525
681
  ToastModule,
@@ -558,10 +714,10 @@ class ToastsService {
558
714
  type: 'toast'
559
715
  });
560
716
  }
561
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ToastsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
562
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ToastsService, providedIn: 'root' });
717
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ToastsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
718
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ToastsService, providedIn: 'root' });
563
719
  }
564
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ToastsService, decorators: [{
720
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ToastsService, decorators: [{
565
721
  type: Injectable,
566
722
  args: [{
567
723
  providedIn: 'root'
@@ -628,10 +784,10 @@ class BaseFormComponent {
628
784
  get formGroup() {
629
785
  return this.control;
630
786
  }
631
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: BaseFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
632
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: BaseFormComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
787
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: BaseFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
788
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.6", type: BaseFormComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
633
789
  }
634
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: BaseFormComponent, decorators: [{
790
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: BaseFormComponent, decorators: [{
635
791
  type: Component,
636
792
  args: [{ imports: [], template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
637
793
  }] });
@@ -764,8 +920,8 @@ class FileInputComponent {
764
920
  this.onChange(value);
765
921
  this.onTouched();
766
922
  }
767
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FileInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
768
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: FileInputComponent, isStandalone: true, selector: "cl-file-input", inputs: { directory: { classPropertyName: "directory", publicName: "directory", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDownloadEmitter: "onDownload" }, providers: [
923
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FileInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
924
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: FileInputComponent, isStandalone: true, selector: "cl-file-input", inputs: { directory: { classPropertyName: "directory", publicName: "directory", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDownloadEmitter: "onDownload" }, providers: [
769
925
  {
770
926
  multi: true,
771
927
  provide: NG_VALUE_ACCESSOR,
@@ -773,7 +929,7 @@ class FileInputComponent {
773
929
  }
774
930
  ], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], ngImport: i0, template: "<input type=\"hidden\" [value]=\"value()\" />\n<input (change)=\"onFileSelected($event)\" class=\"file-input\" #fileInput type=\"file\" />\n\n@if (isFileSelected()) {\n @if (readonly()) {\n <button class=\"link-button\" (click)=\"onDownload()\" type=\"button\">\n {{ fileName() }}\n </button>\n } @else {\n <div class=\"flex\">\n <cl-button class=\"mr-3\" [label]=\"fileName()\" />\n <button class=\"p-button-danger p-button-rounded p-button-text\" (click)=\"onDelete()\" [disabled]=\"isDisabled()\"\n icon=\"pi pi-trash\" pButton type=\"button\">\n </button>\n </div>\n }\n} @else {\n <cl-button (click)=\"onClick()\" [disabled]=\"isDisabled()\" [icon]=\"icon()\" [label]=\"label()\" />\n}\n\n", styles: [".file-input{display:none}.link-button{background:none!important;border:none;padding:0!important;color:#069;text-decoration:underline;cursor:pointer}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "cl-button", inputs: ["color", "disabled", "icon", "label", "loading", "type"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
775
931
  }
776
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FileInputComponent, decorators: [{
932
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FileInputComponent, decorators: [{
777
933
  type: Component,
778
934
  args: [{ selector: 'cl-file-input', imports: [
779
935
  ButtonComponent,
@@ -855,8 +1011,8 @@ class FileInputsComponent extends BaseFormComponent {
855
1011
  getForm() {
856
1012
  return new FormArray([]);
857
1013
  }
858
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FileInputsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
859
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: FileInputsComponent, isStandalone: true, selector: "cl-file-inputs", inputs: { directory: { classPropertyName: "directory", publicName: "directory", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDownloadEmitter: "onDownload" }, providers: [
1014
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FileInputsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1015
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: FileInputsComponent, isStandalone: true, selector: "cl-file-inputs", inputs: { directory: { classPropertyName: "directory", publicName: "directory", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDownloadEmitter: "onDownload" }, providers: [
860
1016
  {
861
1017
  multi: true,
862
1018
  provide: NG_VALIDATORS,
@@ -869,7 +1025,7 @@ class FileInputsComponent extends BaseFormComponent {
869
1025
  }
870
1026
  ], usesInheritance: true, ngImport: i0, template: "<ng-container [formGroup]=\"formGroup\">\n @for (item of formArray.value; track index; let index = $index) {\n <div class=\"flex mb-3\">\n <cl-file-input [formControlName]=\"index\" [directory]=\"directory()\" [icon]=\"icon()\" [label]=\"label()\"\n (onDownload)=\"onDownload($event)\" [readonly]=\"readonly()\" />\n @if (!readonly()) {\n @if (index === 0) {\n <button class=\"p-button-rounded p-button-text\" (click)=\"onAdd()\" [disabled]=\"formArray.length >= max()\"\n icon=\"pi pi-plus\" pButton type=\"button\">\n </button>\n } @else if (index > 0) {\n <button class=\"p-button-rounded p-button-text\" (click)=\"onDelete(index)\" icon=\"pi pi-minus\" pButton\n type=\"button\">\n </button>\n }\n }\n </div>\n }\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }, { kind: "component", type: FileInputComponent, selector: "cl-file-input", inputs: ["directory", "icon", "label", "readonly"], outputs: ["onDownload"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
871
1027
  }
872
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FileInputsComponent, decorators: [{
1028
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FileInputsComponent, decorators: [{
873
1029
  type: Component,
874
1030
  args: [{ selector: 'cl-file-inputs', imports: [
875
1031
  ButtonModule,
@@ -892,12 +1048,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
892
1048
 
893
1049
  const ERROR_DIRECTIVE = new InjectionToken('ErrorDirective');
894
1050
  class ErrorDirective {
895
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
896
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: ErrorDirective, isStandalone: true, selector: "ff-error", providers: [
1051
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1052
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.6", type: ErrorDirective, isStandalone: true, selector: "ff-error", providers: [
897
1053
  { provide: ERROR_DIRECTIVE, useExisting: ErrorDirective }
898
1054
  ], ngImport: i0 });
899
1055
  }
900
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ErrorDirective, decorators: [{
1056
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ErrorDirective, decorators: [{
901
1057
  type: Directive,
902
1058
  args: [{
903
1059
  selector: 'ff-error',
@@ -914,12 +1070,12 @@ class FormFieldComponent {
914
1070
  ...(ngDevMode ? [{ debugName: "control" }] : /* istanbul ignore next */ []));
915
1071
  isRequired = computed(() => this.control()?.control.hasValidator(Validators.required) ?? false, /* @ts-ignore */
916
1072
  ...(ngDevMode ? [{ debugName: "isRequired" }] : /* istanbul ignore next */ []));
917
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
918
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: FormFieldComponent, isStandalone: true, selector: "cl-form-field", providers: [
1073
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1074
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: FormFieldComponent, isStandalone: true, selector: "cl-form-field", providers: [
919
1075
  { provide: FORM_FIELD, useExisting: FormFieldComponent }
920
1076
  ], queries: [{ propertyName: "control", first: true, predicate: FormControlName, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"field\">\n <label class=\"block\" [class.required]=\"isRequired()\">\n <ng-content select=\"ff-label\" />\n </label>\n <div>\n <ng-content />\n </div>\n @if ((control()?.dirty || control()?.touched) && control()?.errors) {\n <small class=\"p-block p-error\">\n <ng-content select=\"ff-error\" />\n </small>\n }\n</div>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
921
1077
  }
922
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FormFieldComponent, decorators: [{
1078
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FormFieldComponent, decorators: [{
923
1079
  type: Component,
924
1080
  args: [{ selector: 'cl-form-field', imports: [], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Eager, providers: [
925
1081
  { provide: FORM_FIELD, useExisting: FormFieldComponent }
@@ -928,12 +1084,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
928
1084
 
929
1085
  const LABEL_DIRECTIVE = new InjectionToken('LabelDirective');
930
1086
  class LabelDirective {
931
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: LabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
932
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: LabelDirective, isStandalone: true, selector: "ff-label", providers: [
1087
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: LabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1088
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.6", type: LabelDirective, isStandalone: true, selector: "ff-label", providers: [
933
1089
  { provide: LABEL_DIRECTIVE, useExisting: LabelDirective }
934
1090
  ], ngImport: i0 });
935
1091
  }
936
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: LabelDirective, decorators: [{
1092
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: LabelDirective, decorators: [{
937
1093
  type: Directive,
938
1094
  args: [{
939
1095
  selector: 'ff-label',
@@ -945,15 +1101,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
945
1101
  }] });
946
1102
 
947
1103
  class FormFieldModule {
948
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
949
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: FormFieldModule, imports: [ErrorDirective,
1104
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1105
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.6", ngImport: i0, type: FormFieldModule, imports: [ErrorDirective,
950
1106
  FormFieldComponent,
951
1107
  LabelDirective], exports: [ErrorDirective,
952
1108
  FormFieldComponent,
953
1109
  LabelDirective] });
954
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FormFieldModule });
1110
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FormFieldModule });
955
1111
  }
956
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FormFieldModule, decorators: [{
1112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FormFieldModule, decorators: [{
957
1113
  type: NgModule,
958
1114
  args: [{
959
1115
  exports: [
@@ -969,19 +1125,273 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
969
1125
  }]
970
1126
  }] });
971
1127
 
1128
+ class MatFileInputComponent {
1129
+ directory = input('', /* @ts-ignore */
1130
+ ...(ngDevMode ? [{ debugName: "directory" }] : /* istanbul ignore next */ []));
1131
+ icon = input('add', /* @ts-ignore */
1132
+ ...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
1133
+ label = input('Browse', /* @ts-ignore */
1134
+ ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
1135
+ readonly = input(false, /* @ts-ignore */
1136
+ ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
1137
+ onDownloadEmitter = output({ alias: 'onDownload' });
1138
+ fileInput = viewChild('fileInput', /* @ts-ignore */
1139
+ ...(ngDevMode ? [{ debugName: "fileInput" }] : /* istanbul ignore next */ []));
1140
+ fileName = signal('', /* @ts-ignore */
1141
+ ...(ngDevMode ? [{ debugName: "fileName" }] : /* istanbul ignore next */ []));
1142
+ isDisabled = signal(false, /* @ts-ignore */
1143
+ ...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
1144
+ isFileSelected = signal(false, /* @ts-ignore */
1145
+ ...(ngDevMode ? [{ debugName: "isFileSelected" }] : /* istanbul ignore next */ []));
1146
+ value = signal(null, /* @ts-ignore */
1147
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
1148
+ // ControlValueAccessor interface methods
1149
+ registerOnChange(fn) {
1150
+ this.onChange = fn;
1151
+ }
1152
+ registerOnTouched(fn) {
1153
+ this.onTouched = fn;
1154
+ }
1155
+ setDisabledState(isDisabled) {
1156
+ setTimeout(() => {
1157
+ this.isDisabled.set(isDisabled);
1158
+ });
1159
+ }
1160
+ writeValue(value = null) {
1161
+ let newValue = [];
1162
+ if (Array.isArray(value)) {
1163
+ newValue = cloneDeep(value);
1164
+ this.selectFile(newValue[0]);
1165
+ }
1166
+ else if (typeof value === 'string') {
1167
+ const hash = this.getHashFromFileName(value);
1168
+ const file = {
1169
+ isNew: !value,
1170
+ hash,
1171
+ name: value,
1172
+ path: this.directory(),
1173
+ toDelete: false,
1174
+ };
1175
+ newValue.push(file);
1176
+ this.selectFile(file);
1177
+ }
1178
+ this.setValue(newValue);
1179
+ }
1180
+ // Custom public methods
1181
+ onClick() {
1182
+ this.fileInput()?.nativeElement.click();
1183
+ this.onTouched();
1184
+ }
1185
+ onFileSelected(event) {
1186
+ const file = event.target.files[0];
1187
+ if (file) {
1188
+ const { extension, name } = this.getFileNameParts(file.name);
1189
+ const hash = v4().split('-')[0];
1190
+ const newFile = {
1191
+ file,
1192
+ hash,
1193
+ isNew: true,
1194
+ name: `${name}.${hash}.${extension}`,
1195
+ path: this.directory(),
1196
+ toDelete: false,
1197
+ };
1198
+ const newValue = [...(this.value() ?? [])];
1199
+ newValue.push(newFile);
1200
+ this.selectFile(newFile);
1201
+ this.setValue(newValue);
1202
+ }
1203
+ }
1204
+ onDelete() {
1205
+ const newValue = [...(this.value() ?? [])];
1206
+ const file = this.getLastFile(newValue);
1207
+ if (file) {
1208
+ if (file.isNew) {
1209
+ newValue.pop();
1210
+ }
1211
+ else {
1212
+ file.toDelete = true;
1213
+ }
1214
+ this.fileName.set('');
1215
+ this.isFileSelected.set(false);
1216
+ this.setValue(newValue);
1217
+ }
1218
+ }
1219
+ onDownload() {
1220
+ this.onDownloadEmitter.emit(this.value());
1221
+ }
1222
+ // Custom private methods
1223
+ getFileNameParts(fileName) {
1224
+ const lastDotIndex = fileName.lastIndexOf('.');
1225
+ if (lastDotIndex === -1) {
1226
+ return { name: fileName, extension: '' };
1227
+ }
1228
+ return {
1229
+ name: fileName.substring(0, lastDotIndex),
1230
+ extension: fileName.substring(lastDotIndex + 1),
1231
+ };
1232
+ }
1233
+ getHashFromFileName(fileName) {
1234
+ const parts = fileName.split('.');
1235
+ // Assumes format is name.hash.extension
1236
+ return parts.length > 2 ? parts[parts.length - 2] : '';
1237
+ }
1238
+ getLastFile(value) {
1239
+ return value.length > 0 ? value[value.length - 1] : undefined;
1240
+ }
1241
+ getSafeFileName(file) {
1242
+ const { name, extension } = this.getFileNameParts(file.name);
1243
+ const hash = this.getHashFromFileName(file.name);
1244
+ const fileName = name.replace(`.${hash}`, '');
1245
+ return `${decodeURIComponent(fileName)}.${extension}`;
1246
+ }
1247
+ onChange = (value) => { };
1248
+ onTouched = () => { };
1249
+ selectFile(file) {
1250
+ const safeFileName = this.getSafeFileName(file);
1251
+ this.fileName.set(safeFileName);
1252
+ this.isFileSelected.set(true);
1253
+ }
1254
+ setValue(value) {
1255
+ this.value.set(value);
1256
+ this.onChange(value);
1257
+ this.onTouched();
1258
+ }
1259
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MatFileInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1260
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: MatFileInputComponent, isStandalone: true, selector: "cl-mat-file-input", inputs: { directory: { classPropertyName: "directory", publicName: "directory", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDownloadEmitter: "onDownload" }, providers: [
1261
+ {
1262
+ multi: true,
1263
+ provide: NG_VALUE_ACCESSOR,
1264
+ useExisting: MatFileInputComponent,
1265
+ },
1266
+ ], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"file-input-container\">\n <input #fileInput (change)=\"onFileSelected($event)\" [disabled]=\"isDisabled()\" class=\"file-input\" hidden type=\"file\" />\n\n @if (isFileSelected()) {\n <div class=\"file-details\">\n <span class=\"file-name\" (click)=\"onDownload()\">{{ fileName() }}</span>\n @if (!readonly()) {\n <button mat-icon-button (click)=\"onDelete()\" [disabled]=\"isDisabled()\">\n <mat-icon>delete</mat-icon>\n </button>\n }\n </div>\n } @else {\n <button mat-raised-button (click)=\"onClick()\" [disabled]=\"isDisabled() || readonly()\">\n <mat-icon>{{ icon() }}</mat-icon>\n <span>{{ label() }}</span>\n </button>\n }\n</div>", styles: [":host .file-input-container{display:flex;align-items:center}:host .file-details{display:flex;align-items:center;gap:8px}:host .file-name{cursor:pointer;text-decoration:underline;color:#00f}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1$4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
1267
+ }
1268
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MatFileInputComponent, decorators: [{
1269
+ type: Component,
1270
+ args: [{ selector: 'cl-mat-file-input', standalone: true, imports: [FormsModule, MatButtonModule, MatIconModule], providers: [
1271
+ {
1272
+ multi: true,
1273
+ provide: NG_VALUE_ACCESSOR,
1274
+ useExisting: MatFileInputComponent,
1275
+ },
1276
+ ], template: "<div class=\"file-input-container\">\n <input #fileInput (change)=\"onFileSelected($event)\" [disabled]=\"isDisabled()\" class=\"file-input\" hidden type=\"file\" />\n\n @if (isFileSelected()) {\n <div class=\"file-details\">\n <span class=\"file-name\" (click)=\"onDownload()\">{{ fileName() }}</span>\n @if (!readonly()) {\n <button mat-icon-button (click)=\"onDelete()\" [disabled]=\"isDisabled()\">\n <mat-icon>delete</mat-icon>\n </button>\n }\n </div>\n } @else {\n <button mat-raised-button (click)=\"onClick()\" [disabled]=\"isDisabled() || readonly()\">\n <mat-icon>{{ icon() }}</mat-icon>\n <span>{{ label() }}</span>\n </button>\n }\n</div>", styles: [":host .file-input-container{display:flex;align-items:center}:host .file-details{display:flex;align-items:center;gap:8px}:host .file-name{cursor:pointer;text-decoration:underline;color:#00f}\n"] }]
1277
+ }], propDecorators: { directory: [{ type: i0.Input, args: [{ isSignal: true, alias: "directory", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], onDownloadEmitter: [{ type: i0.Output, args: ["onDownload"] }], fileInput: [{ type: i0.ViewChild, args: ['fileInput', { isSignal: true }] }] } });
1278
+
1279
+ class MatFileInputsComponent extends BaseFormComponent {
1280
+ cdRef = inject(ChangeDetectorRef);
1281
+ directory = input('', /* @ts-ignore */
1282
+ ...(ngDevMode ? [{ debugName: "directory" }] : /* istanbul ignore next */ []));
1283
+ icon = input('add', /* @ts-ignore */
1284
+ ...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
1285
+ label = input('Browse', /* @ts-ignore */
1286
+ ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
1287
+ max = input(5, /* @ts-ignore */
1288
+ ...(ngDevMode ? [{ debugName: "max" }] : /* istanbul ignore next */ []));
1289
+ readonly = input(false, /* @ts-ignore */
1290
+ ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
1291
+ onDownloadEmitter = output({ alias: 'onDownload' });
1292
+ onAdd() {
1293
+ this.formArray.push(new FormControl());
1294
+ this.cdRef.markForCheck();
1295
+ }
1296
+ onDelete(index) {
1297
+ this.formArray.removeAt(index);
1298
+ this.cdRef.markForCheck();
1299
+ }
1300
+ onDownload(file) {
1301
+ this.onDownloadEmitter.emit(file);
1302
+ }
1303
+ setDisabledState(isDisabled) {
1304
+ for (const control of this.formArray.controls) {
1305
+ if (isDisabled) {
1306
+ control.disable();
1307
+ }
1308
+ else {
1309
+ control.enable();
1310
+ }
1311
+ }
1312
+ }
1313
+ validate(control) {
1314
+ if (control?.hasValidator(Validators.required) && Array.isArray(control?.value)) {
1315
+ const first = control.value[0];
1316
+ if (!(typeof first === 'string' ||
1317
+ (Array.isArray(first) && first.some(({ toDelete }) => toDelete === false)))) {
1318
+ return {
1319
+ required: true
1320
+ };
1321
+ }
1322
+ }
1323
+ return null;
1324
+ }
1325
+ writeValue(value) {
1326
+ if (Array.isArray(value)) {
1327
+ setTimeout(() => {
1328
+ if (value.length === 0) {
1329
+ this.onAdd();
1330
+ }
1331
+ else {
1332
+ for (let i = 0, j = value.length; i < j; i++) {
1333
+ this.onAdd();
1334
+ }
1335
+ this.setValue(value);
1336
+ }
1337
+ });
1338
+ }
1339
+ else if (!this.readonly()) {
1340
+ this.onAdd();
1341
+ }
1342
+ }
1343
+ getForm() {
1344
+ return new FormArray([]);
1345
+ }
1346
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MatFileInputsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1347
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: MatFileInputsComponent, isStandalone: true, selector: "cl-mat-file-inputs", inputs: { directory: { classPropertyName: "directory", publicName: "directory", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDownloadEmitter: "onDownload" }, providers: [
1348
+ {
1349
+ multi: true,
1350
+ provide: NG_VALIDATORS,
1351
+ useExisting: MatFileInputsComponent
1352
+ },
1353
+ {
1354
+ multi: true,
1355
+ provide: NG_VALUE_ACCESSOR,
1356
+ useExisting: MatFileInputsComponent
1357
+ }
1358
+ ], usesInheritance: true, ngImport: i0, template: "<ng-container [formGroup]=\"formGroup\">\n @for (item of formArray.value; track index; let index = $index) {\n <div class=\"flex mb-3\">\n <cl-mat-file-input [formControlName]=\"index\" [directory]=\"directory()\" [icon]=\"icon()\" [label]=\"label()\"\n (onDownload)=\"onDownload($event)\" [readonly]=\"readonly()\" />\n @if (!readonly()) {\n @if (index === 0) {\n <button (click)=\"onAdd()\" [disabled]=\"formArray.length >= max()\" mat-icon-button type=\"button\">\n <mat-icon>{{ icon() }}</mat-icon>\n </button>\n } @else if (index > 0) {\n <button (click)=\"onDelete(index)\" mat-icon-button type=\"button\">\n <mat-icon>remove</mat-icon>\n </button>\n }\n }\n </div>\n }\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatFileInputComponent, selector: "cl-mat-file-input", inputs: ["directory", "icon", "label", "readonly"], outputs: ["onDownload"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
1359
+ }
1360
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: MatFileInputsComponent, decorators: [{
1361
+ type: Component,
1362
+ args: [{ selector: 'cl-mat-file-inputs', imports: [
1363
+ MatButtonModule,
1364
+ MatFileInputComponent,
1365
+ MatIconModule,
1366
+ FormsModule,
1367
+ ReactiveFormsModule,
1368
+ ], providers: [
1369
+ {
1370
+ multi: true,
1371
+ provide: NG_VALIDATORS,
1372
+ useExisting: MatFileInputsComponent
1373
+ },
1374
+ {
1375
+ multi: true,
1376
+ provide: NG_VALUE_ACCESSOR,
1377
+ useExisting: MatFileInputsComponent
1378
+ }
1379
+ ], template: "<ng-container [formGroup]=\"formGroup\">\n @for (item of formArray.value; track index; let index = $index) {\n <div class=\"flex mb-3\">\n <cl-mat-file-input [formControlName]=\"index\" [directory]=\"directory()\" [icon]=\"icon()\" [label]=\"label()\"\n (onDownload)=\"onDownload($event)\" [readonly]=\"readonly()\" />\n @if (!readonly()) {\n @if (index === 0) {\n <button (click)=\"onAdd()\" [disabled]=\"formArray.length >= max()\" mat-icon-button type=\"button\">\n <mat-icon>{{ icon() }}</mat-icon>\n </button>\n } @else if (index > 0) {\n <button (click)=\"onDelete(index)\" mat-icon-button type=\"button\">\n <mat-icon>remove</mat-icon>\n </button>\n }\n }\n </div>\n }\n</ng-container>\n" }]
1380
+ }], propDecorators: { directory: [{ type: i0.Input, args: [{ isSignal: true, alias: "directory", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], onDownloadEmitter: [{ type: i0.Output, args: ["onDownload"] }] } });
1381
+
972
1382
  ;
973
1383
 
974
1384
  class CommonLibModule {
975
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CommonLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
976
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: CommonLibModule });
977
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CommonLibModule, providers: [
1385
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: CommonLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1386
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.6", ngImport: i0, type: CommonLibModule });
1387
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: CommonLibModule, providers: [
978
1388
  ConfirmationService$1,
979
1389
  DialogService,
980
1390
  DynamicDialogConfig,
981
1391
  MessageService,
982
1392
  ] });
983
1393
  }
984
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CommonLibModule, decorators: [{
1394
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: CommonLibModule, decorators: [{
985
1395
  type: NgModule,
986
1396
  args: [{
987
1397
  providers: [
@@ -1006,5 +1416,5 @@ function concatWithToArray(values) {
1006
1416
  * Generated bundle index. Do not edit.
1007
1417
  */
1008
1418
 
1009
- export { BaseFormComponent, ButtonComponent, ClStateService, CommonLibModule, ConfirmationComponent, ConfirmationService, ContentDialogComponent, ContentDialogService, ERROR_DIRECTIVE, ErrorDirective, FORM_FIELD, FileInputComponent, FileInputsComponent, FormDialogComponent, FormDialogService, FormFieldComponent, FormFieldModule, IconButtonComponent, LABEL_DIRECTIVE, LabelDirective, ProgressBarDialogComponent, ProgressBarDialogService, ReadonlyValueComponent, ToastsComponent, ToastsService, concatWithToArray };
1419
+ export { BaseFormComponent, ButtonComponent, ClStateService, CommonLibModule, ConfirmationComponent, ConfirmationService, ContentDialogComponent, ContentDialogService, ERROR_DIRECTIVE, ErrorDirective, FORM_FIELD, FileInputComponent, FileInputsComponent, FormDialogComponent, FormDialogService, FormFieldComponent, FormFieldModule, IconButtonComponent, LABEL_DIRECTIVE, LabelDirective, MatConfirmationComponent, MatConfirmationService, MatFileInputComponent, MatFileInputsComponent, MatFormDialogComponent, MatFormDialogService, MatFormHostableComponent, PanelComponent, ProgressBarDialogComponent, ProgressBarDialogService, ReadonlyValueComponent, ToastsComponent, ToastsService, concatWithToArray };
1010
1420
  //# sourceMappingURL=jm-7c3-common-lib.mjs.map