@jm-7c3/common-lib 1.7.2 → 1.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,9 +1,430 @@
1
1
  # Common Lib
2
2
 
3
- This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.1.0.
3
+ Constains elements based on PrimeNG library.
4
4
 
5
- It constains elements based on PrimeNG library.
5
+ ## Controls
6
6
 
7
- ## Build
7
+ Standalone UI controls, based on [PrimeNG](https://primeng.org) components.
8
8
 
9
- Run `pnpm run build` to build the project. The build artifacts will be stored in the `dist/` directory.
9
+ ### Button
10
+
11
+ Button with configurable styles.
12
+
13
+ #### Import
14
+
15
+ ```
16
+ import {ButtonComponent} from '@jm-7c3/common-lib';
17
+ ```
18
+
19
+ #### Implementation
20
+
21
+ ```
22
+ <cl-button />
23
+ ```
24
+
25
+ #### Inputs
26
+
27
+ | Input | Type | Default | Required | Description |
28
+ | - | - | - | - | - |
29
+ | color | 'danger', 'main', 'primary', 'secondary' | 'primary' | false | Style of the button |
30
+ | disabled | boolean | false | false | Disables de button when value is true |
31
+ | icon | string | | false | Icon to be displayed |
32
+ | label | string | | false | Label to be displayed |
33
+ | loading | boolean | false | false | Shows a loading animation when value is true |
34
+ | type | 'button', 'submit' | 'button' | false | Type of the button |
35
+
36
+ ### Confirmation
37
+
38
+ Shows a confirmation dialog.
39
+
40
+ #### Import the component
41
+
42
+ import {ConfirmationDialogComponent} from '@jm-7c3/common-lib';
43
+
44
+ #### Add the component
45
+
46
+ Add the component to the root component's template.
47
+
48
+ ```
49
+ <cl-confirmation />
50
+ ```
51
+
52
+ #### Import the service
53
+
54
+ ```
55
+ import {ConfirmationService} from '@jm-7c3/common-lib';
56
+ ```
57
+
58
+ #### Inject the service
59
+
60
+ ```
61
+ private readonly confirmationService = inject(ConfirmationService);
62
+ ```
63
+
64
+ #### Methods
65
+
66
+ | Method | Description |
67
+ | - | - |
68
+ | confirm | Opens the confirmation dialog. An unique string key is required as a idenfier. |
69
+ | onAccept | Returns an observable that emits values when the Accept button (for the specified string key) is clicked. |
70
+ | onCancel | Returns an observable that emits values when the Cancel button (for the specified string key) is clicked. |
71
+
72
+ #### Example
73
+
74
+ Open the confirmation dialog.
75
+
76
+ ```
77
+ const config: ConfirmationData = {
78
+ ...
79
+ key: 'confirmation-dialog'
80
+ ...
81
+ };
82
+
83
+ this.confirmationService.confirm(config);
84
+ ```
85
+
86
+ Subscribe to react when Accept button is cliked.
87
+
88
+ ```
89
+ this.confirmationService.onAccept('confirmation-dialog').subscribe(() => {
90
+ // Custom code here.
91
+ });
92
+ ```
93
+
94
+ ### Content Dialog
95
+
96
+ Shows the provided content in a dialog.
97
+
98
+ #### Import the component
99
+
100
+ import {ContentDialogComponent} from '@jm-7c3/common-lib';
101
+
102
+ #### Add the component
103
+
104
+ Add the component to the root component's template.
105
+
106
+ ```
107
+ <cl-content-dialog />
108
+ ```
109
+
110
+ #### Import the service
111
+
112
+ ```
113
+ import {ContentDialogService} from '@jm-7c3/common-lib';
114
+ ```
115
+
116
+ #### Inject the service
117
+
118
+ ```
119
+ private readonly contentDialogService = inject(ContentDialogService);
120
+ ```
121
+
122
+ #### Methods
123
+
124
+ | Method | Description |
125
+ | - | - |
126
+ | onCancel | Returns an observable that emits values when the Cancel button (for the specified string key) is clicked. |
127
+ | open | Opens the dialog. An unique string key is required as a idenfier. |
128
+
129
+ #### Example
130
+
131
+ Open the content dialog.
132
+
133
+ ```
134
+ const config: ContentDialogData = {
135
+ ...
136
+ key: 'content-dialog'
137
+ ...
138
+ };
139
+
140
+ this.contentDialogService.open(config);
141
+ ```
142
+
143
+ Subscribe to react when Cancel button is cliked.
144
+
145
+ ```
146
+ this.contentDialogService.onCancel('content-dialog').subscribe(() => {
147
+ // Custom code here.
148
+ });
149
+ ```
150
+
151
+ ### Form Dialog
152
+
153
+ Shows the provided form in a dialog.
154
+
155
+ #### Import the component
156
+
157
+ import {FormDialogComponent} from '@jm-7c3/common-lib';
158
+
159
+ #### Add the component
160
+
161
+ Add the component to the root component's template.
162
+
163
+ ```
164
+ <cl-form-dialog />
165
+ ```
166
+
167
+ #### Import the service
168
+
169
+ ```
170
+ import {FormDialogService} from '@jm-7c3/common-lib';
171
+ ```
172
+
173
+ #### Inject the service
174
+
175
+ ```
176
+ private readonly formDialogService = inject(FormDialogService);
177
+ ```
178
+
179
+ #### Methods
180
+
181
+ | Method | Description |
182
+ | - | - |
183
+ | onCancel | Returns an observable that emits values when the Cancel button (for the specified string key) is clicked. |
184
+ | onSubmit | Returns an observable that emits the form's value when the Submit button (for the specified string key) is clicked. |
185
+ | open | Opens the dialog. An unique string key is required as a idenfier. |
186
+
187
+ #### Example
188
+
189
+ Open the form dialog.
190
+
191
+ ```
192
+ const config: FormDialogData = {
193
+ ...
194
+ key: 'form-dialog'
195
+ ...
196
+ };
197
+
198
+ this.formDialogService.open(config);
199
+ ```
200
+
201
+ Subscribe to react when Submit button is cliked.
202
+
203
+ ```
204
+ this.formDialogService.onSubmit('content-dialog').subscribe(formValue => {
205
+ // Custom code here.
206
+ });
207
+ ```
208
+
209
+ ### Icon Button
210
+
211
+ Button to display only the icon with configurable styles.
212
+
213
+ #### Import
214
+
215
+ ```
216
+ import {IconButtonComponent} from '@jm-7c3/common-lib';
217
+ ```
218
+
219
+ #### Implementation
220
+
221
+ ```
222
+ <cl-icon-button />
223
+ ```
224
+
225
+ #### Inputs
226
+
227
+ | Input | Type | Default | Required | Description |
228
+ | - | - | - | - | - |
229
+ | disabled | boolean | false | false | Disables de button when value is true |
230
+ | icon | string | | false | Icon to be displayed |
231
+ | loading | boolean | false | false | Shows a loading animation when value is true |
232
+ | severity | '', 'danger', 'help', 'info', 'secondary', 'success', 'warning' | '' | false | Style of the button |
233
+ | type | 'button', 'submit' | 'button' | false | Type of the button |
234
+
235
+ ### Progress Bar Dialog
236
+
237
+ Displays a dialog with a progress bar animation.
238
+
239
+ #### Import the component
240
+
241
+ import {ProgressBarDialogComponent} from '@jm-7c3/common-lib';
242
+
243
+ #### Add the component
244
+
245
+ Add the component to the root component's template.
246
+
247
+ ```
248
+ <cl-progress-bar-dialog />
249
+ ```
250
+
251
+ #### Import the service
252
+
253
+ ```
254
+ import {ProgressBarDialogService} from '@jm-7c3/common-lib';
255
+ ```
256
+
257
+ #### Inject the service
258
+
259
+ ```
260
+ private readonly progressBarDialogService = inject(ProgressBarDialogService);
261
+ ```
262
+
263
+ #### Methods
264
+
265
+ | Method | Description |
266
+ | - | - |
267
+ | close | Closes the dialog |
268
+ | open | Displays the dialog |
269
+
270
+ ### Readonly Value
271
+
272
+ Displays the provided label and value.
273
+
274
+ #### Import
275
+
276
+ ```
277
+ import {ReadonlyValueComponent} from '@jm-7c3/common-lib';
278
+ ```
279
+
280
+ #### Implementation
281
+
282
+ ```
283
+ <cl-readonly-value />
284
+ ```
285
+
286
+ #### Inputs
287
+
288
+ | Input | Type | Default | Required | Description |
289
+ | - | - | - | - | - |
290
+ | label | string | | false | Label to be displayed |
291
+ | value | any | | false | Value to be displayed |
292
+
293
+ ### Toasts
294
+
295
+ Shows toast notification.
296
+
297
+ #### Import the component
298
+
299
+ import {ToastsComponent} from '@jm-7c3/common-lib';
300
+
301
+ #### Add the component
302
+
303
+ Add the component to the root component's template.
304
+
305
+ ```
306
+ <cl-toats />
307
+ ```
308
+
309
+ #### Import the service
310
+
311
+ ```
312
+ import {ToastsService} from '@jm-7c3/common-lib';
313
+ ```
314
+
315
+ #### Inject the service
316
+
317
+ ```
318
+ private readonly toastsService = inject(ToastsService);
319
+ ```
320
+
321
+ #### Methods
322
+
323
+ | Method | Description |
324
+ | - | - |
325
+ | toastError | Displays a toast notifications styled for errors. |
326
+ | toastSuccess | Displays a toast notifications styled for success. |
327
+ | toastWarning | Displays a toast notifications styled for warning. |
328
+
329
+ ## Forms
330
+
331
+ Standalone UI form input controls, based on [PrimeNG](https://primeng.org) components, to be used in Reactive Forms.
332
+
333
+ ### Base Form
334
+
335
+ Contains base value accessor functionality for other components to extend from.
336
+
337
+ #### Implementation
338
+
339
+ ```
340
+ import { BaseFormComponent } from '@jm-7c3/common-lib';
341
+
342
+ class Step1FormComponent extends BaseFormComponent {
343
+ ...
344
+ }
345
+ ```
346
+
347
+ ### File Input
348
+
349
+ Input to select a single file.
350
+
351
+ #### Import
352
+
353
+ ```
354
+ import {FileInputComponent} from '@jm-7c3/sp-integration';
355
+ ```
356
+
357
+ #### Implementation
358
+
359
+ ```
360
+ <cl-file-input />
361
+ ```
362
+
363
+ #### Inputs
364
+
365
+ | Input | Type | Default | Required | Description |
366
+ | - | - | - | - | - |
367
+ | directory | string | '' | false | Path to the directory where the files is stored. |
368
+ | icon | string | 'pi pi-plus' | false | Prime icon being used. |
369
+ | label | boolean | 'Browse' | false | Label for the input control. |
370
+ | readonly | string | | false | Disables the input control. |
371
+
372
+ #### Outputs
373
+
374
+ | onDownload | Type | Description |
375
+ | - | - | - |
376
+ | onDownload | FileInput[] | Returns the file to be downloaded. |
377
+
378
+ ### File Inputs
379
+
380
+ Inputs to select a single file.
381
+
382
+ #### Import
383
+
384
+ ```
385
+ import {FileInputsComponent} from '@jm-7c3/sp-integration';
386
+ ```
387
+
388
+ #### Implementation
389
+
390
+ ```
391
+ <cl-file-inputs />
392
+ ```
393
+
394
+ #### Inputs
395
+
396
+ | Input | Type | Default | Required | Description |
397
+ | - | - | - | - | - |
398
+ | directory | string | '' | false | Path to the directory where the files is stored. |
399
+ | icon | string | 'pi pi-plus' | false | Prime icon being used. |
400
+ | label | boolean | 'Browse' | false | Label for the input control. |
401
+ | max | number | 5 | false | Maximum number of file controls allowed. |
402
+ | readonly | string | | false | Disables the input control. |
403
+
404
+ #### Outputs
405
+
406
+ | onDownload | Type | Description |
407
+ | - | - | - |
408
+ | onDownload | FileInput[] | Returns the file to be downloaded. |
409
+
410
+ ### Form Field
411
+
412
+ A wrapper component for form controls.
413
+
414
+ #### Import
415
+
416
+ ```
417
+ import {FormFieldComponent} from '@jm-7c3/sp-integration';
418
+ ```
419
+
420
+ #### Implementation
421
+
422
+ ```
423
+ <cl-form-field>
424
+ <ff-label>Name</ff-label>
425
+ <input formControlName="Name" pInput type="text" />
426
+ <ff-error>
427
+ This field is required
428
+ <ff-error>
429
+ </cl-form-field>
430
+ ```
@@ -49,10 +49,10 @@ class ButtonComponent {
49
49
  }
50
50
  });
51
51
  }
52
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
53
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.12", 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: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
53
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.14", 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: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ButtonComponent, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ButtonComponent, decorators: [{
56
56
  type: Component,
57
57
  args: [{ selector: 'cl-button', imports: [
58
58
  CommonModule,
@@ -73,10 +73,10 @@ class ClStateService {
73
73
  updateStateMessage(stateMessage) {
74
74
  patchState(this.state, { stateMessage });
75
75
  }
76
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ClStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
77
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ClStateService, providedIn: 'root' });
76
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ClStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
77
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ClStateService, providedIn: 'root' });
78
78
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ClStateService, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ClStateService, decorators: [{
80
80
  type: Injectable,
81
81
  args: [{
82
82
  providedIn: 'root'
@@ -131,10 +131,10 @@ class ConfirmationComponent {
131
131
  },
132
132
  });
133
133
  }
134
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ConfirmationComponent, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Component });
135
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", 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: CommonModule }, { 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", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
134
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConfirmationComponent, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Component });
135
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", 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: CommonModule }, { 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", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
136
136
  }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ConfirmationComponent, decorators: [{
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConfirmationComponent, decorators: [{
138
138
  type: Component,
139
139
  args: [{ selector: 'cl-confirmation', imports: [
140
140
  ButtonComponent,
@@ -172,10 +172,10 @@ class ConfirmationService {
172
172
  onCancel(key) {
173
173
  return this.clStateService.onStateMessage('confirmation-cancel').pipe(filter(message => message?.key === key), map(() => null));
174
174
  }
175
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ConfirmationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
176
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
175
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConfirmationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
176
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
177
177
  }
178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ConfirmationService, decorators: [{
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConfirmationService, decorators: [{
179
179
  type: Injectable,
180
180
  args: [{
181
181
  providedIn: 'root'
@@ -216,10 +216,10 @@ class ContentDialogComponent {
216
216
  onClose() {
217
217
  this.dialogRef.close();
218
218
  }
219
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ContentDialogComponent, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Component });
220
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", 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", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
219
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ContentDialogComponent, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Component });
220
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", 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", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
221
221
  }
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ContentDialogComponent, decorators: [{
222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ContentDialogComponent, decorators: [{
223
223
  type: Component,
224
224
  args: [{ selector: 'cl-content-dialog', imports: [
225
225
  ButtonComponent,
@@ -253,10 +253,10 @@ class ContentDialogService {
253
253
  });
254
254
  });
255
255
  }
256
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ContentDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
257
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ContentDialogService, providedIn: 'root' });
256
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ContentDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
257
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ContentDialogService, providedIn: 'root' });
258
258
  }
259
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ContentDialogService, decorators: [{
259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ContentDialogService, decorators: [{
260
260
  type: Injectable,
261
261
  args: [{
262
262
  providedIn: 'root'
@@ -320,10 +320,10 @@ class FormDialogComponent {
320
320
  this.dialogRef.close(this.form().value);
321
321
  }
322
322
  }
323
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: FormDialogComponent, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Component });
324
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", 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 });
323
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormDialogComponent, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Component });
324
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", 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 });
325
325
  }
326
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: FormDialogComponent, decorators: [{
326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormDialogComponent, decorators: [{
327
327
  type: Component,
328
328
  args: [{ selector: 'cl-form-dialog', imports: [
329
329
  ButtonComponent,
@@ -372,10 +372,10 @@ class FormDialogService {
372
372
  }
373
373
  });
374
374
  }
375
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: FormDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
376
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: FormDialogService, providedIn: 'root' });
375
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
376
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormDialogService, providedIn: 'root' });
377
377
  }
378
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: FormDialogService, decorators: [{
378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormDialogService, decorators: [{
379
379
  type: Injectable,
380
380
  args: [{
381
381
  providedIn: 'root'
@@ -397,10 +397,10 @@ class IconButtonComponent {
397
397
  updateClass(severity) {
398
398
  this.class.update(value => value + ' p-button-' + severity);
399
399
  }
400
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: IconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
401
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.12", 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: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
400
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: IconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
401
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.14", 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: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
402
402
  }
403
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: IconButtonComponent, decorators: [{
403
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: IconButtonComponent, decorators: [{
404
404
  type: Component,
405
405
  args: [{ selector: 'cl-icon-button', imports: [
406
406
  ButtonModule,
@@ -425,10 +425,10 @@ class ProgressBarDialogComponent {
425
425
  }
426
426
  });
427
427
  }
428
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ProgressBarDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
429
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", 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: CommonModule }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i1$3.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "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", "style", "unit", "mode", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
428
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProgressBarDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
429
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", 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: CommonModule }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i1$3.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "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", "style", "unit", "mode", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
430
430
  }
431
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ProgressBarDialogComponent, decorators: [{
431
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProgressBarDialogComponent, decorators: [{
432
432
  type: Component,
433
433
  args: [{ selector: 'cl-progress-bar-dialog', imports: [
434
434
  CommonModule,
@@ -449,10 +449,10 @@ class ProgressBarDialogService {
449
449
  type: 'progess-bar-dialog-open'
450
450
  });
451
451
  }
452
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ProgressBarDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
453
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ProgressBarDialogService, providedIn: 'root' });
452
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProgressBarDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
453
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProgressBarDialogService, providedIn: 'root' });
454
454
  }
455
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ProgressBarDialogService, decorators: [{
455
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ProgressBarDialogService, decorators: [{
456
456
  type: Injectable,
457
457
  args: [{
458
458
  providedIn: 'root'
@@ -462,10 +462,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
462
462
  class ReadonlyValueComponent {
463
463
  label = input();
464
464
  value = input();
465
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ReadonlyValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
466
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.12", 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 });
465
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ReadonlyValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
466
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.14", 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 });
467
467
  }
468
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ReadonlyValueComponent, decorators: [{
468
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ReadonlyValueComponent, decorators: [{
469
469
  type: Component,
470
470
  args: [{ selector: 'cl-readonly-value', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\n <strong>{{ label() }}</strong>\n <div>{{ value() }}</div>\n</div>\n" }]
471
471
  }] });
@@ -491,10 +491,10 @@ class ToastsComponent {
491
491
  this.messageService.add(message);
492
492
  });
493
493
  }
494
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ToastsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
495
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", 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", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
494
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ToastsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
495
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", 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", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
496
496
  }
497
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ToastsComponent, decorators: [{
497
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ToastsComponent, decorators: [{
498
498
  type: Component,
499
499
  args: [{ selector: 'cl-toasts', imports: [
500
500
  ToastModule,
@@ -533,10 +533,10 @@ class ToastsService {
533
533
  type: 'toast'
534
534
  });
535
535
  }
536
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ToastsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
537
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ToastsService, providedIn: 'root' });
536
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ToastsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
537
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ToastsService, providedIn: 'root' });
538
538
  }
539
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ToastsService, decorators: [{
539
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ToastsService, decorators: [{
540
540
  type: Injectable,
541
541
  args: [{
542
542
  providedIn: 'root'
@@ -602,10 +602,10 @@ class BaseFormComponent {
602
602
  get formGroup() {
603
603
  return this.control;
604
604
  }
605
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: BaseFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
606
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", type: BaseFormComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
605
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BaseFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
606
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: BaseFormComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
607
607
  }
608
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: BaseFormComponent, decorators: [{
608
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BaseFormComponent, decorators: [{
609
609
  type: Component,
610
610
  args: [{ imports: [CommonModule], template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
611
611
  }] });
@@ -712,8 +712,8 @@ class FileInputComponent {
712
712
  this.onChange(value);
713
713
  this.onTouched();
714
714
  }
715
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: FileInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
716
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", 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: [
715
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FileInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
716
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", 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: [
717
717
  {
718
718
  multi: true,
719
719
  provide: NG_VALUE_ACCESSOR,
@@ -721,7 +721,7 @@ class FileInputComponent {
721
721
  }
722
722
  ], 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: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
723
723
  }
724
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: FileInputComponent, decorators: [{
724
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FileInputComponent, decorators: [{
725
725
  type: Component,
726
726
  args: [{ selector: 'cl-file-input', imports: [
727
727
  ButtonComponent,
@@ -803,8 +803,8 @@ class FileInputsComponent extends BaseFormComponent {
803
803
  getForm() {
804
804
  return new FormArray([]);
805
805
  }
806
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: FileInputsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
807
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", 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: [
806
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FileInputsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
807
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", 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: [
808
808
  {
809
809
  multi: true,
810
810
  provide: NG_VALIDATORS,
@@ -817,7 +817,7 @@ class FileInputsComponent extends BaseFormComponent {
817
817
  }
818
818
  ], 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: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { 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],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 });
819
819
  }
820
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: FileInputsComponent, decorators: [{
820
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FileInputsComponent, decorators: [{
821
821
  type: Component,
822
822
  args: [{ selector: 'cl-file-inputs', imports: [
823
823
  ButtonModule,
@@ -840,12 +840,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
840
840
 
841
841
  const ERROR_DIRECTIVE = new InjectionToken('ErrorDirective');
842
842
  class ErrorDirective {
843
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
844
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.12", type: ErrorDirective, isStandalone: true, selector: "ff-error", providers: [
843
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
844
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: ErrorDirective, isStandalone: true, selector: "ff-error", providers: [
845
845
  { provide: ERROR_DIRECTIVE, useExisting: ErrorDirective }
846
846
  ], ngImport: i0 });
847
847
  }
848
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ErrorDirective, decorators: [{
848
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ErrorDirective, decorators: [{
849
849
  type: Directive,
850
850
  args: [{
851
851
  selector: 'ff-error',
@@ -860,12 +860,12 @@ const FORM_FIELD = new InjectionToken('FormFieldComponent');
860
860
  class FormFieldComponent {
861
861
  control = contentChild(FormControlName);
862
862
  isRequired = computed(() => this.control()?.control.hasValidator(Validators.required) ?? false);
863
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
864
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: FormFieldComponent, isStandalone: true, selector: "cl-form-field", providers: [
863
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
864
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: FormFieldComponent, isStandalone: true, selector: "cl-form-field", providers: [
865
865
  { provide: FORM_FIELD, useExisting: FormFieldComponent }
866
866
  ], 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: [""], encapsulation: i0.ViewEncapsulation.None });
867
867
  }
868
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: FormFieldComponent, decorators: [{
868
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFieldComponent, decorators: [{
869
869
  type: Component,
870
870
  args: [{ selector: 'cl-form-field', imports: [], encapsulation: ViewEncapsulation.None, providers: [
871
871
  { provide: FORM_FIELD, useExisting: FormFieldComponent }
@@ -874,12 +874,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
874
874
 
875
875
  const LABEL_DIRECTIVE = new InjectionToken('LabelDirective');
876
876
  class LabelDirective {
877
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: LabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
878
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.12", type: LabelDirective, isStandalone: true, selector: "ff-label", providers: [
877
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
878
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: LabelDirective, isStandalone: true, selector: "ff-label", providers: [
879
879
  { provide: LABEL_DIRECTIVE, useExisting: LabelDirective }
880
880
  ], ngImport: i0 });
881
881
  }
882
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: LabelDirective, decorators: [{
882
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LabelDirective, decorators: [{
883
883
  type: Directive,
884
884
  args: [{
885
885
  selector: 'ff-label',
@@ -891,15 +891,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
891
891
  }] });
892
892
 
893
893
  class FormFieldModule {
894
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
895
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.12", ngImport: i0, type: FormFieldModule, imports: [ErrorDirective,
894
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
895
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: FormFieldModule, imports: [ErrorDirective,
896
896
  FormFieldComponent,
897
897
  LabelDirective], exports: [ErrorDirective,
898
898
  FormFieldComponent,
899
899
  LabelDirective] });
900
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: FormFieldModule });
900
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFieldModule });
901
901
  }
902
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: FormFieldModule, decorators: [{
902
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormFieldModule, decorators: [{
903
903
  type: NgModule,
904
904
  args: [{
905
905
  exports: [
@@ -918,16 +918,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImpo
918
918
  ;
919
919
 
920
920
  class CommonLibModule {
921
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: CommonLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
922
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.12", ngImport: i0, type: CommonLibModule });
923
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: CommonLibModule, providers: [
921
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CommonLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
922
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: CommonLibModule });
923
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CommonLibModule, providers: [
924
924
  ConfirmationService$1,
925
925
  DialogService,
926
926
  DynamicDialogConfig,
927
927
  MessageService,
928
928
  ] });
929
929
  }
930
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: CommonLibModule, decorators: [{
930
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CommonLibModule, decorators: [{
931
931
  type: NgModule,
932
932
  args: [{
933
933
  providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"jm-7c3-common-lib.mjs","sources":["../../../projects/common-lib/src/lib/controls/button/button.component.ts","../../../projects/common-lib/src/lib/controls/button/button.component.html","../../../projects/common-lib/src/lib/services/cl-state.service.ts","../../../projects/common-lib/src/lib/controls/confirmation/confirmation.component.ts","../../../projects/common-lib/src/lib/controls/confirmation/confirmation.component.html","../../../projects/common-lib/src/lib/controls/confirmation/confirmation.service.ts","../../../projects/common-lib/src/lib/controls/content-dialog/content-dialog.component.ts","../../../projects/common-lib/src/lib/controls/content-dialog/content-dialog.component.html","../../../projects/common-lib/src/lib/controls/content-dialog/content-dialog.service.ts","../../../projects/common-lib/src/lib/controls/form-dialog/form-dialog.component.ts","../../../projects/common-lib/src/lib/controls/form-dialog/form-dialog.component.html","../../../projects/common-lib/src/lib/controls/form-dialog/form-dialog.service.ts","../../../projects/common-lib/src/lib/controls/icon-button/icon-button.component.ts","../../../projects/common-lib/src/lib/controls/icon-button/icon-button.component.html","../../../projects/common-lib/src/lib/controls/progress-bar-dialog/progress-bar-dialog.component.ts","../../../projects/common-lib/src/lib/controls/progress-bar-dialog/progress-bar-dialog.component.html","../../../projects/common-lib/src/lib/controls/progress-bar-dialog/progress-bar-dialog.service.ts","../../../projects/common-lib/src/lib/controls/readonly-value/readonly-value.component.ts","../../../projects/common-lib/src/lib/controls/readonly-value/readonly-value.component.html","../../../projects/common-lib/src/lib/controls/toasts/toasts.component.ts","../../../projects/common-lib/src/lib/controls/toasts/toasts.component.html","../../../projects/common-lib/src/lib/controls/toasts/toasts.service.ts","../../../projects/common-lib/src/lib/forms/base-form/base-form.component.ts","../../../projects/common-lib/src/lib/forms/file-input/file-input.component.ts","../../../projects/common-lib/src/lib/forms/file-input/file-input.component.html","../../../projects/common-lib/src/lib/forms/file-inputs/file-inputs.component.ts","../../../projects/common-lib/src/lib/forms/file-inputs/file-inputs.component.html","../../../projects/common-lib/src/lib/forms/form-field/error.directive.ts","../../../projects/common-lib/src/lib/forms/form-field/form-field.component.ts","../../../projects/common-lib/src/lib/forms/form-field/form-field.component.html","../../../projects/common-lib/src/lib/forms/form-field/label.directive.ts","../../../projects/common-lib/src/lib/forms/form-field/form-field.module.ts","../../../projects/common-lib/src/lib/models/cl-state.model.ts","../../../projects/common-lib/src/lib/common-lib.module.ts","../../../projects/common-lib/src/lib/rxjs-operators/operators.ts","../../../projects/common-lib/src/public-api.ts","../../../projects/common-lib/src/jm-7c3-common-lib.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, effect, input, signal }\n from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule as PrimengButtonModule } from 'primeng/button';\n\nimport { ButtonColor } from './button.models';\n\n@Component({\n selector: 'cl-button',\n imports: [\n CommonModule,\n PrimengButtonModule\n ],\n templateUrl: './button.component.html',\n styleUrl: './button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent {\n readonly color = input<ButtonColor>('primary');\n readonly disabled = input(false);\n readonly icon = input<string>();\n readonly label = input<string>();\n readonly loading = input(false);\n readonly type = input<'button' | 'submit'>('button');\n\n readonly buttonClass = signal('');\n\n constructor() {\n effect(() => {\n switch (this.color()) {\n case 'danger':\n this.buttonClass.set('p-button-danger p-button-raised p-button-text');\n break;\n case 'main':\n this.buttonClass.set('p-button-primary p-button-raised');\n break;\n case 'primary':\n this.buttonClass.set('p-button-primary p-button-raised p-button-text');\n break;\n case 'secondary':\n this.buttonClass.set('p-button-secondary p-button-raised p-button-text');\n break;\n }\n });\n }\n}\n","<button [class]=\"buttonClass()\" [disabled]=\"disabled()\" [icon]=\"icon()!\" [label]=\"label()!\" [loading]=\"loading()\" pButton\n [type]=\"type()\">\n</button>\n","import { Injectable } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { patchState, signalState } from '@ngrx/signals';\nimport { filter, Observable } from 'rxjs';\n\nimport { ClState, ClStateMessage, ClStateMessageType } from '../models';\n\nconst initialState: ClState = {\n stateMessage: null\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ClStateService {\n private readonly state = signalState(initialState);\n\n readonly stateMessage: any = this.state.stateMessage;\n private readonly stateMessage$ = toObservable(this.state.stateMessage);\n\n onStateMessage(type: ClStateMessageType): Observable<ClStateMessage | null> {\n return this.stateMessage$.pipe(\n filter(message => message?.type === type)\n );\n }\n\n updateStateMessage(stateMessage: ClStateMessage | null): void {\n patchState(this.state, {stateMessage});\n }\n}\n","import { ChangeDetectionStrategy, Component, Inject, effect, inject, signal }\n from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConfirmationService as PngConfirmationService } from 'primeng/api';\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\n\nimport { ClStateMessage, ConfirmationConfig } from '../../models';\nimport { ClStateService } from '../../services';\nimport { ButtonComponent } from '../button';\n\n@Component({\n selector: 'cl-confirmation',\n imports: [\n ButtonComponent,\n CommonModule,\n ConfirmDialogModule,\n ],\n templateUrl: './confirmation.component.html',\n styleUrls: ['./confirmation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ConfirmationComponent {\n private readonly clStateService = inject(ClStateService);\n private readonly confirmationService = inject(PngConfirmationService);\n\n readonly acceptLabel = signal('Accept');\n readonly cancelLabel = signal('Cancel');\n\n constructor(\n @Inject('env') private readonly env: any\n ) {\n const confirmationConfig: ConfirmationConfig = this.env?.commonLib?.confirmation;\n\n if (confirmationConfig) {\n if (confirmationConfig.acceptLabel) {\n this.acceptLabel.set(confirmationConfig.acceptLabel);\n }\n if (confirmationConfig.cancelLabel) {\n this.cancelLabel.set(confirmationConfig.cancelLabel);\n }\n }\n\n effect(() => {\n const message = this.clStateService.stateMessage();\n\n if (message?.type === 'confirmation') {\n this.openConfirmDialog(message);\n }\n });\n }\n\n private openConfirmDialog(stateMessge: ClStateMessage): void {\n const {data, header, key, message} = stateMessge.payload;\n\n this.confirmationService.confirm({\n accept: () => {\n this.clStateService.updateStateMessage({\n key: stateMessge.key,\n payload: data,\n type: 'confirmation-accept'\n });\n },\n acceptButtonStyleClass: 'primary',\n closeOnEscape: false,\n header,\n key,\n message,\n reject: () => {\n this.clStateService.updateStateMessage({\n key: stateMessge.key,\n payload: data,\n type: 'confirmation-cancel'\n });\n },\n });\n }\n}\n","<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","import { Injectable, inject } from '@angular/core';\nimport { Observable, filter, map } from 'rxjs';\n\nimport { ClStateService } from '../../services';\nimport { ConfirmationData } from './confirmation.models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConfirmationService {\n private readonly clStateService = inject(ClStateService);\n\n confirm({data, header, key, message, type}: ConfirmationData): void {\n const confirmationData: ConfirmationData = {\n data,\n header,\n key: 'general',\n message\n };\n\n switch (type) {\n case 'warning':\n confirmationData.key = 'general-warning';\n break;\n }\n\n this.clStateService.updateStateMessage({\n key,\n payload: confirmationData,\n type: 'confirmation'\n });\n }\n\n onAccept(key: string): Observable<any> {\n return this.clStateService.onStateMessage('confirmation-accept').pipe(\n filter(message => message?.key === key),\n map(message => message?.payload)\n );\n }\n\n onCancel(key: string): Observable<null> {\n return this.clStateService.onStateMessage('confirmation-cancel').pipe(\n filter(message => message?.key === key),\n map(() => null)\n );\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Inject, OnInit, inject, signal }\n from '@angular/core';\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\n\nimport { ContentDialogConfig } from '../../models';\nimport { ButtonComponent } from '../button';\n\n@Component({\n selector: 'cl-content-dialog',\n imports: [\n ButtonComponent,\n CommonModule,\n ],\n templateUrl: './content-dialog.component.html',\n styleUrl: './content-dialog.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContentDialogComponent implements OnInit {\n private readonly dialogConfig = inject(DynamicDialogConfig);\n private readonly dialogRef = inject(DynamicDialogRef);\n\n readonly component = signal<any>(null);\n readonly closeLabel = signal('Close');\n readonly header = signal('');\n\n constructor(\n @Inject('env') private readonly env: any\n ) {\n const contentDialogConfig: ContentDialogConfig = this.env?.commonLib?.contentDialog;\n\n if (contentDialogConfig) {\n if (contentDialogConfig.closeLabel) {\n this.closeLabel.set(contentDialogConfig.closeLabel);\n }\n }\n }\n\n ngOnInit(): void {\n const {component, config, header} = this.dialogConfig.data;\n\n if (component) {\n this.component.set(component);\n }\n\n if (config) {\n const {closeLabel} = config;\n\n if (closeLabel) {\n this.closeLabel.set(closeLabel);\n }\n }\n\n if (header) {\n this.header.set(header);\n }\n }\n\n onClose(): void {\n this.dialogRef.close();\n }\n}\n","@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","import { Injectable, inject } from '@angular/core';\nimport { DialogService, DynamicDialogConfig } from 'primeng/dynamicdialog';\nimport { Observable, filter, map } from 'rxjs';\n\nimport { ClStateService } from '../../services';\nimport { ContentDialogComponent } from './content-dialog.component';\nimport { ContentDialogData } from './content-dialog.models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ContentDialogService {\n private readonly clStateService = inject(ClStateService);\n private readonly dialogService = inject(DialogService);\n\n onCancel(key: string): Observable<{key: string}> {\n return this.clStateService.onStateMessage('content-dialog-close').pipe(\n filter(message => message?.payload.key === key),\n map(() => ({key}))\n )\n }\n\n open(data: ContentDialogData): void {\n const {component, config, header, key, styleClass} = data;\n const dialogConfig: DynamicDialogConfig = {\n closable: false,\n data: { component, config, key },\n header,\n showHeader: true,\n styleClass: styleClass ?? 'w-4'\n };\n\n this.dialogService.open(ContentDialogComponent, dialogConfig).onClose\n .subscribe(() => {\n this.clStateService.updateStateMessage({\n key,\n type: 'content-dialog-close'\n });\n });\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, OnInit,\n ViewContainerRef, inject, signal, viewChild} from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, UntypedFormGroup }\n from '@angular/forms';\nimport { DynamicDialogConfig, DynamicDialogModule, DynamicDialogRef }\n from 'primeng/dynamicdialog';\n\nimport { FormDialogConfig } from '../../models';\nimport { ButtonComponent } from '../button';\n\n@Component({\n selector: 'cl-form-dialog',\n imports: [\n ButtonComponent,\n DynamicDialogModule,\n FormsModule,\n ReactiveFormsModule,\n ],\n templateUrl: './form-dialog.component.html',\n styleUrls: ['./form-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormDialogComponent implements OnInit {\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly dialogConfig = inject(DynamicDialogConfig);\n private readonly dialogRef = inject(DynamicDialogRef);\n\n private readonly formContainer = viewChild('formContainer', {read: ViewContainerRef});\n\n readonly cancelLabel = signal('Cancel');\n readonly form = signal<UntypedFormGroup | null>(null);\n readonly header = signal<string>('');\n readonly hideSubmitButton = signal(false);\n readonly submitLabel = signal('Submit');\n\n constructor(\n @Inject('env') private readonly env: any\n ) {\n const formDialogConfig: FormDialogConfig = this.env?.commonLib?.formDialog;\n\n if (formDialogConfig) {\n if (formDialogConfig.cancelLabel) {\n this.cancelLabel.set(formDialogConfig.cancelLabel);\n }\n if (formDialogConfig.submitLabel) {\n this.submitLabel.set(formDialogConfig.submitLabel);\n }\n }\n }\n\n ngOnInit(): void {\n const {component, config, header, value} = this.dialogConfig.data;\n\n this.header.set(header);\n\n if (component) {\n setTimeout(() => {\n const {instance} = this.formContainer()!.createComponent(component) as any;\n\n this.form.set(instance.form);\n\n if (!this.form) {\n throw new Error('Form not found.');\n }\n\n if (value) {\n this.form()?.patchValue(value);\n }\n\n this.cdRef.markForCheck();\n });\n }\n\n if (config) {\n this.hideSubmitButton.set(config.hideSubmitButton ?? this.hideSubmitButton);\n\n if (config.cancelLabel) {\n this.cancelLabel.set(config.cancelLabel);\n }\n if (config.submitLabel) {\n this.submitLabel.set(config.submitLabel);\n }\n }\n }\n\n onCancel(): void {\n this.dialogRef.close();\n }\n\n onSubmit(): void {\n if (this.form()?.valid) {\n this.dialogRef.close(this.form()!.value);\n }\n }\n\n}\n","<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","import { Injectable, inject } from '@angular/core';\nimport { DialogService, DynamicDialogConfig } from 'primeng/dynamicdialog';\nimport { Observable, filter, map } from 'rxjs';\n\nimport { ClStateService } from '../../services';\nimport { FormDialogComponent } from './form-dialog.component';\nimport { FormDialogData } from './form-dialog.models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FormDialogService {\n private readonly clStateService = inject(ClStateService);\n private readonly dialogService = inject(DialogService);\n\n onCancel(key: string): Observable<null> {\n return this.clStateService.onStateMessage('form-dialog-cancel').pipe(\n filter(message => message?.key === key),\n map(() => null)\n );\n }\n\n onSubmit(key: string): Observable<any> {\n return this.clStateService.onStateMessage('form-dialog-submit').pipe(\n filter(message => message?.key === key),\n map(message => message?.payload)\n );\n }\n\n // Workaround untill primeng v16.2.1 is available\n open(data: FormDialogData): void {\n const {component, config, header, key, styleClass, value} = data;\n const dialogConfig: DynamicDialogConfig = {\n data: { component, config, key, value },\n focusOnShow: false,\n header,\n modal: true,\n styleClass\n };\n\n const ref = this.dialogService.open(FormDialogComponent, dialogConfig);\n\n ref.onClose.subscribe(value => {\n if (value) {\n this.clStateService.updateStateMessage({\n key,\n payload: value,\n type: 'form-dialog-submit'\n });\n } else {\n this.clStateService.updateStateMessage({\n key,\n type: 'form-dialog-cancel'\n });\n }\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, effect, input, signal }\n from '@angular/core';\nimport { ButtonModule as PrimengButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'cl-icon-button',\n imports: [\n PrimengButtonModule,\n ],\n templateUrl: './icon-button.component.html',\n styleUrl: './icon-button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class IconButtonComponent {\n readonly disabled = input(false);\n readonly icon = input.required<string>();\n readonly loading = input(false);\n readonly severity = input<Severity>('');\n readonly type = input<'button' | 'submit'>('button');\n\n readonly class = signal('p-button-icon-only p-button-text');\n\n constructor() {\n effect(() => {\n this.updateClass(this.severity());\n });\n }\n\n private updateClass(severity: string) {\n this.class.update(value => value + ' p-button-' + severity);\n }\n}\n\ntype Severity = '' | 'danger' | 'help' | 'info' | 'secondary' | 'success' | 'warning';\n","<button [class]=\"class()\" [disabled]=\"disabled()\" [icon]=\"icon()\" [loading]=\"loading()\" pButton [type]=\"type()\">\n</button>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, effect, inject }\n from '@angular/core';\nimport { DialogModule } from 'primeng/dialog';\nimport { ProgressBarModule } from 'primeng/progressbar';\n\nimport { ClStateService } from '../../services';\n\n@Component({\n selector: 'cl-progress-bar-dialog',\n imports: [\n CommonModule,\n DialogModule,\n ProgressBarModule,\n ],\n templateUrl: './progress-bar-dialog.component.html',\n styleUrl: './progress-bar-dialog.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ProgressBarDialogComponent {\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly clStateService = inject(ClStateService);\n\n visible = false;\n\n constructor () {\n effect(() => {\n switch (this.clStateService.stateMessage()?.type) {\n case 'progess-bar-dialog-close':\n this.visible = false;\n\n this.cdRef.markForCheck();\n break;\n case 'progess-bar-dialog-open':\n this.visible = true;\n\n this.cdRef.markForCheck();\n break;\n }\n });\n }\n}\n","<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","import { Injectable, inject } from '@angular/core';\n\nimport { ClStateService } from '../../services';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProgressBarDialogService {\n private readonly clStateService = inject(ClStateService);\n\n close(): void {\n this.clStateService.updateStateMessage({\n type: 'progess-bar-dialog-close'\n });\n }\n\n open(): void {\n this.clStateService.updateStateMessage({\n type: 'progess-bar-dialog-open'\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n selector: 'cl-readonly-value',\n imports: [],\n templateUrl: './readonly-value.component.html',\n styleUrl: './readonly-value.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ReadonlyValueComponent {\n readonly label = input<string>();\n readonly value = input<any>();\n}\n","<div>\n <strong>{{ label() }}</strong>\n <div>{{ value() }}</div>\n</div>\n","import { ChangeDetectionStrategy, Component, effect, inject } from '@angular/core';\nimport { ToastModule } from 'primeng/toast';\nimport { MessageService, ToastMessageOptions } from 'primeng/api';\n\nimport { ClStateService } from '../../services';\n\n@Component({\n selector: 'cl-toasts',\n imports: [\n ToastModule,\n ],\n templateUrl: './toasts.component.html',\n styleUrl: './toasts.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ToastsComponent {\n private readonly clStateService = inject(ClStateService);\n private readonly messageService = inject(MessageService);\n\n constructor () {\n effect(() => {\n const message = this.clStateService.stateMessage();\n\n if (message?.type === 'toast') {\n const {detail, severity, summary} = message?.payload;\n\n this.add(detail, summary, severity, 'general');\n }\n });\n }\n\n private add(detail: string, summary: string, severity: string, key?: string): void {\n const message: ToastMessageOptions = { detail, severity, summary };\n\n if (key) {\n message.key = key;\n }\n\n setTimeout(() => {\n this.messageService.add(message);\n });\n }\n}\n","<p-toast key=\"general\" position=\"bottom-center\" />\n","import { Injectable, inject } from '@angular/core';\n\nimport { ClStateService } from '../../services';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToastsService {\n private readonly clStateService = inject(ClStateService);\n\n toastError(detail: string, summary = 'Error'): void {\n this.clStateService.updateStateMessage({\n payload: {\n detail,\n severity: 'error',\n summary\n },\n type: 'toast'\n });\n }\n\n toastSuccess(detail: string, summary = 'Success'): void {\n this.clStateService.updateStateMessage({\n payload: {\n detail,\n severity: 'success',\n summary\n },\n type: 'toast'\n });\n }\n\n toastWarning(detail: string, summary = 'Warning'): void {\n this.clStateService.updateStateMessage({\n payload: {\n detail,\n severity: 'warning',\n summary\n },\n type: 'toast'\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, OnDestroy, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AbstractControl, ControlValueAccessor, FormArray, FormControl, FormGroup,\n ValidationErrors, Validator } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n@Component({\n imports: [CommonModule],\n template: '',\n styles: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BaseFormComponent implements ControlValueAccessor, OnDestroy,\n Validator {\n readonly control = this.getForm();\n readonly disabled = signal(false);\n protected readonly subscription = new Subscription();\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n // Control Value Accessor methods\n\n registerOnChange(fn: any): void {\n this.subscription.add(\n this.control.valueChanges.subscribe(fn)\n );\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n if (isDisabled) {\n this.control.disable();\n } else {\n this.control.enable();\n }\n\n setTimeout(() => {\n this.disabled.set(isDisabled);\n });\n }\n\n writeValue(obj: any): void {\n if (obj) {\n this.setValue(obj);\n }\n }\n\n // Validator methods\n\n validate(control?: AbstractControl): ValidationErrors | null {\n if (this.control.invalid) {\n return { invalid: true };\n }\n\n return null;\n }\n\n // Custom protected methods\n\n protected getForm(): FormArray | FormControl | FormGroup {\n throw new Error('Not implemented.');\n }\n\n protected setValue(value: any): void {\n this.control.patchValue(value);\n\n this.onChanged(value);\n this.onTouched();\n }\n\n // Custom private methods\n\n private onChanged: any = (value: any) => {};\n\n private onTouched: any = () => {};\n\n // Getters and setters\n\n get formArray(): FormArray {\n return this.control as FormArray;\n }\n\n get formControl(): FormControl {\n return this.control as FormControl;\n }\n\n get formGroup(): FormGroup {\n return this.control as FormGroup;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, input, output, signal,\n viewChild } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR }\nfrom '@angular/forms';\nimport { cloneDeep } from 'lodash-es';\nimport { ButtonModule } from 'primeng/button';\nimport { v4 } from 'uuid';\n\nimport { ButtonComponent } from '../../controls/button';\n\n@Component({\n selector: 'cl-file-input',\n imports: [\n ButtonComponent,\n ButtonModule,\n CommonModule,\n FormsModule\n ],\n templateUrl: './file-input.component.html',\n styleUrl: './file-input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FileInputComponent,\n }\n ]\n})\nexport class FileInputComponent implements ControlValueAccessor {\n readonly directory = input('');\n readonly icon = input('pi pi-plus');\n readonly label = input('Browse');\n readonly readonly = input(false);\n readonly onDownloadEmitter = output<FileInput[]>({alias: 'onDownload'});\n readonly fileInput = viewChild<ElementRef>('fileInput');\n\n readonly fileName = signal('');\n readonly isDisabled = signal(false);\n readonly isFileSelected = signal(false);\n readonly value = signal<FileInputValue>(null);\n\n // ControlValueAccessor interface methods\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n setTimeout(() => {\n this.isDisabled.set(isDisabled);\n });\n }\n\n writeValue(value: FileInput[] | string | null = null): void {\n let newValue: FileInput[] = [];\n\n if (Array.isArray(value)) {\n newValue = cloneDeep(value);\n\n this.selectFile(newValue[0]);\n } else if (typeof value === 'string') {\n const lastSlashPosition = value.lastIndexOf('/');\n const fileName = value.substring(lastSlashPosition + 1, value.length);\n const name = fileName.split('.');\n\n const file: FileInput = {\n isNew: !value,\n hash: name[1],\n name: fileName,\n path: this.directory(),\n toDelete: false\n };\n\n newValue.push(file);\n\n this.selectFile(file);\n }\n\n this.setValue(newValue);\n }\n\n // Custom public methods\n\n onClick(): void {\n this.fileInput()?.nativeElement.click();\n this.onTouched();\n }\n\n onFileSelected(event: Event): void {\n const file: File = (event.target as HTMLInputElement).files![0];\n const name = file.name.split('.');\n\n if (file) {\n const hash = v4().split('-')[0];\n const newFile: FileInput = {\n file,\n hash,\n isNew: true,\n name: `${encodeURIComponent(name[0])}.${hash}.${name[1]}`,\n path: this.directory(),\n toDelete: false\n };\n const newValue = [...this.value()!] as FileInput[];\n\n newValue.push(newFile);\n\n this.selectFile(newFile);\n this.setValue(newValue);\n }\n }\n\n onDelete(): void {\n const newValue = [...this.value()!];\n const file = this.getLastFile(newValue);\n\n if (file) {\n if (file.isNew) {\n newValue.pop();\n } else {\n file.toDelete = true;\n }\n\n this.fileName.set('');\n this.isFileSelected.set(false);\n this.setValue(newValue);\n }\n }\n\n onDownload(): void {\n this.onDownloadEmitter.emit(this.value() as FileInput[]);\n }\n\n // Custom private methods\n\n private getLastFile(value: FileInput[]): FileInput | undefined {\n return value[value.length - 1];\n }\n\n private onChange: any = (value: FileInputValue) => {};\n\n private onTouched: any = () => {};\n\n private selectFile(file: FileInput): void {\n this.fileName.set(getSafeFileName(file));\n this.isFileSelected.set(true);\n }\n\n private setValue(value: FileInputValue): void {\n this.value.set(value);\n\n this.onChange(value);\n this.onTouched();\n }\n}\n\nfunction getSafeFileName(file: FileInput): string {\n const name = file.name.split('.');\n\n return `${decodeURIComponent(name[0])}.${name[2]}`;\n}\n\nexport interface FileInput {\n file?: File;\n hash: string;\n isNew: boolean;\n name: string;\n path: string;\n toDelete: boolean;\n}\n\ntype FileInputValue = FileInput[] | null;\n","<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","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, input,\n output} from '@angular/core';\nimport { AbstractControl, FormArray, FormControl, FormsModule, NG_VALIDATORS,\n NG_VALUE_ACCESSOR, ReactiveFormsModule, ValidationErrors, Validators }\n from '@angular/forms';\nimport { ButtonModule } from 'primeng/button';\n\nimport { BaseFormComponent } from '../base-form';\nimport { FileInput, FileInputComponent } from '../file-input';\n\n@Component({\n selector: 'cl-file-inputs',\n imports: [\n ButtonModule,\n FileInputComponent,\n FormsModule,\n ReactiveFormsModule,\n ],\n templateUrl: './file-inputs.component.html',\n styleUrl: './file-inputs.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: FileInputsComponent\n },\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FileInputsComponent\n }\n ]\n})\nexport class FileInputsComponent extends BaseFormComponent {\n private readonly cdRef = inject(ChangeDetectorRef);\n\n readonly directory = input('');\n readonly icon = input('pi pi-plus');\n readonly label = input('Browse');\n readonly max = input<number>(5);\n readonly readonly = input(false);\n readonly onDownloadEmitter = output<FileInput[]>({alias: 'onDownload'});\n\n onAdd(): void {\n this.formArray.push(\n new FormControl()\n );\n\n this.cdRef.markForCheck();\n }\n\n onDelete(index: number): void {\n this.formArray.removeAt(index);\n\n this.cdRef.markForCheck();\n }\n\n onDownload(file: FileInput[]): void {\n this.onDownloadEmitter.emit(file);\n }\n\n override setDisabledState(isDisabled: boolean): void {\n for (const control of this.formArray.controls) {\n if (isDisabled) {\n control.disable();\n } else {\n control.enable();\n }\n }\n }\n\n override validate(control?: AbstractControl): ValidationErrors | null {\n if (control?.hasValidator(Validators.required) && Array.isArray(control?.value)) {\n const first = control.value[0];\n\n if (!(\n typeof first === 'string' ||\n (Array.isArray(first) && first.some(({toDelete}) => toDelete === false))\n )) {\n return {\n required: true\n };\n }\n }\n\n return null;\n }\n\n override writeValue(value: FileInputsValue): void {\n if (Array.isArray(value)) {\n setTimeout(() => {\n if (value.length === 0) {\n this.onAdd();\n } else {\n for (let i = 0, j = value.length; i < j; i++) {\n this.onAdd();\n }\n\n this.setValue(value);\n }\n });\n } else if (!this.readonly()) {\n this.onAdd();\n }\n }\n\n protected override getForm(): FormArray<any> {\n return new FormArray<any>([]);\n }\n}\n\ntype FileInputsValue = FileInput[][] | null;\n","<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","import { Directive, InjectionToken } from '@angular/core';\n\nexport const ERROR_DIRECTIVE = new InjectionToken<ErrorDirective>('ErrorDirective');\n\n@Directive({\n selector: 'ff-error',\n standalone: true,\n providers: [\n { provide: ERROR_DIRECTIVE, useExisting: ErrorDirective }\n ]\n})\nexport class ErrorDirective {\n\n}\n","import { Component, InjectionToken, ViewEncapsulation, computed, contentChild }\n from '@angular/core';\nimport { FormControlName, Validators } from '@angular/forms';\n\nexport const FORM_FIELD = new InjectionToken<FormFieldComponent>('FormFieldComponent');\n\n@Component({\n selector: 'cl-form-field',\n imports: [],\n templateUrl: './form-field.component.html',\n styleUrl: './form-field.component.scss',\n // changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: FORM_FIELD, useExisting: FormFieldComponent }\n ]\n})\nexport class FormFieldComponent {\n readonly control = contentChild(FormControlName);\n\n readonly isRequired = computed(() =>\n this.control()?.control.hasValidator(Validators.required) ?? false\n );\n}\n","<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","import { Directive, InjectionToken } from '@angular/core';\n\nexport const LABEL_DIRECTIVE = new InjectionToken<LabelDirective>('LabelDirective');\n\n@Directive({\n selector: 'ff-label',\n standalone: true,\n providers: [\n { provide: LABEL_DIRECTIVE, useExisting: LabelDirective }\n ]\n})\nexport class LabelDirective {\n\n}\n","import { NgModule } from '@angular/core';\n\nimport { ErrorDirective } from './error.directive';\nimport { FormFieldComponent } from './form-field.component';\nimport { LabelDirective } from './label.directive';\n\n@NgModule({\n exports: [\n ErrorDirective,\n FormFieldComponent,\n LabelDirective,\n ],\n imports: [\n ErrorDirective,\n FormFieldComponent,\n LabelDirective,\n ]\n})\nexport class FormFieldModule { }\n","export type ClState = {\n stateMessage: ClStateMessage | null;\n};\n\nexport interface ClStateMessage {\n key?: string;\n payload?: any;\n type: ClStateMessageType;\n};\n\nexport type ClStateMessageType = 'confirmation' | 'confirmation-accept' |\n 'confirmation-cancel' | 'content-dialog' | 'content-dialog-cancel' |\n 'content-dialog-close' | 'form-dialog' | 'form-dialog-cancel' |\n 'form-dialog-submit' | 'progess-bar-dialog-close' | 'progess-bar-dialog-open' |\n 'toast';\n","import { NgModule } from '@angular/core';\nimport { ConfirmationService, MessageService } from 'primeng/api';\nimport { DialogService, DynamicDialogConfig } from 'primeng/dynamicdialog';\n\n@NgModule({\n providers: [\n ConfirmationService,\n DialogService,\n DynamicDialogConfig,\n MessageService,\n ]\n})\nexport class CommonLibModule { }\n","import { concatWith, Observable, toArray } from 'rxjs';\n\nexport function concatWithToArray<T>(values: Observable<T>[]): Observable<T[]> {\n return values[0].pipe(\n concatWith(...values.slice(1)),\n toArray()\n );\n}\n","/*\n * Public API Surface of common-lib\n */\n\n// Controls\n\nexport * from './lib/controls/button';\nexport * from './lib/controls/confirmation';\nexport * from './lib/controls/content-dialog';\nexport * from './lib/controls/form-dialog';\nexport * from './lib/controls/icon-button';\nexport * from './lib/controls/progress-bar-dialog';\nexport * from './lib/controls/readonly-value';\nexport * from './lib/controls/toasts';\n\n// Forms\n\nexport * from './lib/forms/base-form';\nexport * from './lib/forms/file-input';\nexport * from './lib/forms/file-inputs';\nexport * from './lib/forms/form-field';\n\n// Models\n\nexport * from './lib/models';\n\n// Modules\n\nexport * from './lib/common-lib.module';\n\n// RXJS Operators\n\nexport * from './lib/rxjs-operators';\n\n// Services\n\nexport * from './lib/services'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["PrimengButtonModule","PngConfirmationService","i1","i2","ConfirmationService"],"mappings":"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"}
1
+ {"version":3,"file":"jm-7c3-common-lib.mjs","sources":["../../../projects/common-lib/src/lib/controls/button/button.component.ts","../../../projects/common-lib/src/lib/controls/button/button.component.html","../../../projects/common-lib/src/lib/services/cl-state.service.ts","../../../projects/common-lib/src/lib/controls/confirmation/confirmation.component.ts","../../../projects/common-lib/src/lib/controls/confirmation/confirmation.component.html","../../../projects/common-lib/src/lib/controls/confirmation/confirmation.service.ts","../../../projects/common-lib/src/lib/controls/content-dialog/content-dialog.component.ts","../../../projects/common-lib/src/lib/controls/content-dialog/content-dialog.component.html","../../../projects/common-lib/src/lib/controls/content-dialog/content-dialog.service.ts","../../../projects/common-lib/src/lib/controls/form-dialog/form-dialog.component.ts","../../../projects/common-lib/src/lib/controls/form-dialog/form-dialog.component.html","../../../projects/common-lib/src/lib/controls/form-dialog/form-dialog.service.ts","../../../projects/common-lib/src/lib/controls/icon-button/icon-button.component.ts","../../../projects/common-lib/src/lib/controls/icon-button/icon-button.component.html","../../../projects/common-lib/src/lib/controls/progress-bar-dialog/progress-bar-dialog.component.ts","../../../projects/common-lib/src/lib/controls/progress-bar-dialog/progress-bar-dialog.component.html","../../../projects/common-lib/src/lib/controls/progress-bar-dialog/progress-bar-dialog.service.ts","../../../projects/common-lib/src/lib/controls/readonly-value/readonly-value.component.ts","../../../projects/common-lib/src/lib/controls/readonly-value/readonly-value.component.html","../../../projects/common-lib/src/lib/controls/toasts/toasts.component.ts","../../../projects/common-lib/src/lib/controls/toasts/toasts.component.html","../../../projects/common-lib/src/lib/controls/toasts/toasts.service.ts","../../../projects/common-lib/src/lib/forms/base-form/base-form.component.ts","../../../projects/common-lib/src/lib/forms/file-input/file-input.component.ts","../../../projects/common-lib/src/lib/forms/file-input/file-input.component.html","../../../projects/common-lib/src/lib/forms/file-inputs/file-inputs.component.ts","../../../projects/common-lib/src/lib/forms/file-inputs/file-inputs.component.html","../../../projects/common-lib/src/lib/forms/form-field/error.directive.ts","../../../projects/common-lib/src/lib/forms/form-field/form-field.component.ts","../../../projects/common-lib/src/lib/forms/form-field/form-field.component.html","../../../projects/common-lib/src/lib/forms/form-field/label.directive.ts","../../../projects/common-lib/src/lib/forms/form-field/form-field.module.ts","../../../projects/common-lib/src/lib/models/cl-state.model.ts","../../../projects/common-lib/src/lib/common-lib.module.ts","../../../projects/common-lib/src/lib/rxjs-operators/operators.ts","../../../projects/common-lib/src/public-api.ts","../../../projects/common-lib/src/jm-7c3-common-lib.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, effect, input, signal }\n from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule as PrimengButtonModule } from 'primeng/button';\n\nimport { ButtonColor } from './button.models';\n\n@Component({\n selector: 'cl-button',\n imports: [\n CommonModule,\n PrimengButtonModule\n ],\n templateUrl: './button.component.html',\n styleUrl: './button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent {\n readonly color = input<ButtonColor>('primary');\n readonly disabled = input(false);\n readonly icon = input<string>();\n readonly label = input<string>();\n readonly loading = input(false);\n readonly type = input<'button' | 'submit'>('button');\n\n readonly buttonClass = signal('');\n\n constructor() {\n effect(() => {\n switch (this.color()) {\n case 'danger':\n this.buttonClass.set('p-button-danger p-button-raised p-button-text');\n break;\n case 'main':\n this.buttonClass.set('p-button-primary p-button-raised');\n break;\n case 'primary':\n this.buttonClass.set('p-button-primary p-button-raised p-button-text');\n break;\n case 'secondary':\n this.buttonClass.set('p-button-secondary p-button-raised p-button-text');\n break;\n }\n });\n }\n}\n","<button [class]=\"buttonClass()\" [disabled]=\"disabled()\" [icon]=\"icon()!\" [label]=\"label()!\" [loading]=\"loading()\" pButton\n [type]=\"type()\">\n</button>\n","import { Injectable } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { patchState, signalState } from '@ngrx/signals';\nimport { filter, Observable } from 'rxjs';\n\nimport { ClState, ClStateMessage, ClStateMessageType } from '../models';\n\nconst initialState: ClState = {\n stateMessage: null\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ClStateService {\n private readonly state = signalState(initialState);\n\n readonly stateMessage: any = this.state.stateMessage;\n private readonly stateMessage$ = toObservable(this.state.stateMessage);\n\n onStateMessage(type: ClStateMessageType): Observable<ClStateMessage | null> {\n return this.stateMessage$.pipe(\n filter(message => message?.type === type)\n );\n }\n\n updateStateMessage(stateMessage: ClStateMessage | null): void {\n patchState(this.state, {stateMessage});\n }\n}\n","import { ChangeDetectionStrategy, Component, Inject, effect, inject, signal }\n from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConfirmationService as PngConfirmationService } from 'primeng/api';\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\n\nimport { ClStateMessage, ConfirmationConfig } from '../../models';\nimport { ClStateService } from '../../services';\nimport { ButtonComponent } from '../button';\n\n@Component({\n selector: 'cl-confirmation',\n imports: [\n ButtonComponent,\n CommonModule,\n ConfirmDialogModule,\n ],\n templateUrl: './confirmation.component.html',\n styleUrls: ['./confirmation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ConfirmationComponent {\n private readonly clStateService = inject(ClStateService);\n private readonly confirmationService = inject(PngConfirmationService);\n\n readonly acceptLabel = signal('Accept');\n readonly cancelLabel = signal('Cancel');\n\n constructor(\n @Inject('env') private readonly env: any\n ) {\n const confirmationConfig: ConfirmationConfig = this.env?.commonLib?.confirmation;\n\n if (confirmationConfig) {\n if (confirmationConfig.acceptLabel) {\n this.acceptLabel.set(confirmationConfig.acceptLabel);\n }\n if (confirmationConfig.cancelLabel) {\n this.cancelLabel.set(confirmationConfig.cancelLabel);\n }\n }\n\n effect(() => {\n const message = this.clStateService.stateMessage();\n\n if (message?.type === 'confirmation') {\n this.openConfirmDialog(message);\n }\n });\n }\n\n private openConfirmDialog(stateMessge: ClStateMessage): void {\n const {data, header, key, message} = stateMessge.payload;\n\n this.confirmationService.confirm({\n accept: () => {\n this.clStateService.updateStateMessage({\n key: stateMessge.key,\n payload: data,\n type: 'confirmation-accept'\n });\n },\n acceptButtonStyleClass: 'primary',\n closeOnEscape: false,\n header,\n key,\n message,\n reject: () => {\n this.clStateService.updateStateMessage({\n key: stateMessge.key,\n payload: data,\n type: 'confirmation-cancel'\n });\n },\n });\n }\n}\n","<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","import { Injectable, inject } from '@angular/core';\nimport { Observable, filter, map } from 'rxjs';\n\nimport { ClStateService } from '../../services';\nimport { ConfirmationData } from './confirmation.models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConfirmationService {\n private readonly clStateService = inject(ClStateService);\n\n confirm({data, header, key, message, type}: ConfirmationData): void {\n const confirmationData: ConfirmationData = {\n data,\n header,\n key: 'general',\n message\n };\n\n switch (type) {\n case 'warning':\n confirmationData.key = 'general-warning';\n break;\n }\n\n this.clStateService.updateStateMessage({\n key,\n payload: confirmationData,\n type: 'confirmation'\n });\n }\n\n onAccept(key: string): Observable<any> {\n return this.clStateService.onStateMessage('confirmation-accept').pipe(\n filter(message => message?.key === key),\n map(message => message?.payload)\n );\n }\n\n onCancel(key: string): Observable<null> {\n return this.clStateService.onStateMessage('confirmation-cancel').pipe(\n filter(message => message?.key === key),\n map(() => null)\n );\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Inject, OnInit, inject, signal }\n from '@angular/core';\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\n\nimport { ContentDialogConfig } from '../../models';\nimport { ButtonComponent } from '../button';\n\n@Component({\n selector: 'cl-content-dialog',\n imports: [\n ButtonComponent,\n CommonModule,\n ],\n templateUrl: './content-dialog.component.html',\n styleUrl: './content-dialog.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContentDialogComponent implements OnInit {\n private readonly dialogConfig = inject(DynamicDialogConfig);\n private readonly dialogRef = inject(DynamicDialogRef);\n\n readonly component = signal<any>(null);\n readonly closeLabel = signal('Close');\n readonly header = signal('');\n\n constructor(\n @Inject('env') private readonly env: any\n ) {\n const contentDialogConfig: ContentDialogConfig = this.env?.commonLib?.contentDialog;\n\n if (contentDialogConfig) {\n if (contentDialogConfig.closeLabel) {\n this.closeLabel.set(contentDialogConfig.closeLabel);\n }\n }\n }\n\n ngOnInit(): void {\n const {component, config, header} = this.dialogConfig.data;\n\n if (component) {\n this.component.set(component);\n }\n\n if (config) {\n const {closeLabel} = config;\n\n if (closeLabel) {\n this.closeLabel.set(closeLabel);\n }\n }\n\n if (header) {\n this.header.set(header);\n }\n }\n\n onClose(): void {\n this.dialogRef.close();\n }\n}\n","@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","import { Injectable, inject } from '@angular/core';\nimport { DialogService, DynamicDialogConfig } from 'primeng/dynamicdialog';\nimport { Observable, filter, map } from 'rxjs';\n\nimport { ClStateService } from '../../services';\nimport { ContentDialogComponent } from './content-dialog.component';\nimport { ContentDialogData } from './content-dialog.models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ContentDialogService {\n private readonly clStateService = inject(ClStateService);\n private readonly dialogService = inject(DialogService);\n\n onCancel(key: string): Observable<{key: string}> {\n return this.clStateService.onStateMessage('content-dialog-close').pipe(\n filter(message => message?.payload.key === key),\n map(() => ({key}))\n )\n }\n\n open(data: ContentDialogData): void {\n const {component, config, header, key, styleClass} = data;\n const dialogConfig: DynamicDialogConfig = {\n closable: false,\n data: { component, config, key },\n header,\n showHeader: true,\n styleClass: styleClass ?? 'w-4'\n };\n\n this.dialogService.open(ContentDialogComponent, dialogConfig).onClose\n .subscribe(() => {\n this.clStateService.updateStateMessage({\n key,\n type: 'content-dialog-close'\n });\n });\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, OnInit,\n ViewContainerRef, inject, signal, viewChild} from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, UntypedFormGroup }\n from '@angular/forms';\nimport { DynamicDialogConfig, DynamicDialogModule, DynamicDialogRef }\n from 'primeng/dynamicdialog';\n\nimport { FormDialogConfig } from '../../models';\nimport { ButtonComponent } from '../button';\n\n@Component({\n selector: 'cl-form-dialog',\n imports: [\n ButtonComponent,\n DynamicDialogModule,\n FormsModule,\n ReactiveFormsModule,\n ],\n templateUrl: './form-dialog.component.html',\n styleUrls: ['./form-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormDialogComponent implements OnInit {\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly dialogConfig = inject(DynamicDialogConfig);\n private readonly dialogRef = inject(DynamicDialogRef);\n\n private readonly formContainer = viewChild('formContainer', {read: ViewContainerRef});\n\n readonly cancelLabel = signal('Cancel');\n readonly form = signal<UntypedFormGroup | null>(null);\n readonly header = signal<string>('');\n readonly hideSubmitButton = signal(false);\n readonly submitLabel = signal('Submit');\n\n constructor(\n @Inject('env') private readonly env: any\n ) {\n const formDialogConfig: FormDialogConfig = this.env?.commonLib?.formDialog;\n\n if (formDialogConfig) {\n if (formDialogConfig.cancelLabel) {\n this.cancelLabel.set(formDialogConfig.cancelLabel);\n }\n if (formDialogConfig.submitLabel) {\n this.submitLabel.set(formDialogConfig.submitLabel);\n }\n }\n }\n\n ngOnInit(): void {\n const {component, config, header, value} = this.dialogConfig.data;\n\n this.header.set(header);\n\n if (component) {\n setTimeout(() => {\n const {instance} = this.formContainer()!.createComponent(component) as any;\n\n this.form.set(instance.form);\n\n if (!this.form) {\n throw new Error('Form not found.');\n }\n\n if (value) {\n this.form()?.patchValue(value);\n }\n\n this.cdRef.markForCheck();\n });\n }\n\n if (config) {\n this.hideSubmitButton.set(config.hideSubmitButton ?? this.hideSubmitButton);\n\n if (config.cancelLabel) {\n this.cancelLabel.set(config.cancelLabel);\n }\n if (config.submitLabel) {\n this.submitLabel.set(config.submitLabel);\n }\n }\n }\n\n onCancel(): void {\n this.dialogRef.close();\n }\n\n onSubmit(): void {\n if (this.form()?.valid) {\n this.dialogRef.close(this.form()!.value);\n }\n }\n\n}\n","<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","import { Injectable, inject } from '@angular/core';\nimport { DialogService, DynamicDialogConfig } from 'primeng/dynamicdialog';\nimport { Observable, filter, map } from 'rxjs';\n\nimport { ClStateService } from '../../services';\nimport { FormDialogComponent } from './form-dialog.component';\nimport { FormDialogData } from './form-dialog.models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FormDialogService {\n private readonly clStateService = inject(ClStateService);\n private readonly dialogService = inject(DialogService);\n\n onCancel(key: string): Observable<null> {\n return this.clStateService.onStateMessage('form-dialog-cancel').pipe(\n filter(message => message?.key === key),\n map(() => null)\n );\n }\n\n onSubmit(key: string): Observable<any> {\n return this.clStateService.onStateMessage('form-dialog-submit').pipe(\n filter(message => message?.key === key),\n map(message => message?.payload)\n );\n }\n\n // Workaround untill primeng v16.2.1 is available\n open(data: FormDialogData): void {\n const {component, config, header, key, styleClass, value} = data;\n const dialogConfig: DynamicDialogConfig = {\n data: { component, config, key, value },\n focusOnShow: false,\n header,\n modal: true,\n styleClass\n };\n\n const ref = this.dialogService.open(FormDialogComponent, dialogConfig);\n\n ref.onClose.subscribe(value => {\n if (value) {\n this.clStateService.updateStateMessage({\n key,\n payload: value,\n type: 'form-dialog-submit'\n });\n } else {\n this.clStateService.updateStateMessage({\n key,\n type: 'form-dialog-cancel'\n });\n }\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, effect, input, signal }\n from '@angular/core';\nimport { ButtonModule as PrimengButtonModule } from 'primeng/button';\n\n@Component({\n selector: 'cl-icon-button',\n imports: [\n PrimengButtonModule,\n ],\n templateUrl: './icon-button.component.html',\n styleUrl: './icon-button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class IconButtonComponent {\n readonly disabled = input(false);\n readonly icon = input.required<string>();\n readonly loading = input(false);\n readonly severity = input<Severity>('');\n readonly type = input<'button' | 'submit'>('button');\n\n readonly class = signal('p-button-icon-only p-button-text');\n\n constructor() {\n effect(() => {\n this.updateClass(this.severity());\n });\n }\n\n private updateClass(severity: string) {\n this.class.update(value => value + ' p-button-' + severity);\n }\n}\n\ntype Severity = '' | 'danger' | 'help' | 'info' | 'secondary' | 'success' | 'warning';\n","<button [class]=\"class()\" [disabled]=\"disabled()\" [icon]=\"icon()\" [loading]=\"loading()\" pButton [type]=\"type()\">\n</button>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, effect, inject }\n from '@angular/core';\nimport { DialogModule } from 'primeng/dialog';\nimport { ProgressBarModule } from 'primeng/progressbar';\n\nimport { ClStateService } from '../../services';\n\n@Component({\n selector: 'cl-progress-bar-dialog',\n imports: [\n CommonModule,\n DialogModule,\n ProgressBarModule,\n ],\n templateUrl: './progress-bar-dialog.component.html',\n styleUrl: './progress-bar-dialog.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ProgressBarDialogComponent {\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly clStateService = inject(ClStateService);\n\n visible = false;\n\n constructor () {\n effect(() => {\n switch (this.clStateService.stateMessage()?.type) {\n case 'progess-bar-dialog-close':\n this.visible = false;\n\n this.cdRef.markForCheck();\n break;\n case 'progess-bar-dialog-open':\n this.visible = true;\n\n this.cdRef.markForCheck();\n break;\n }\n });\n }\n}\n","<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","import { Injectable, inject } from '@angular/core';\n\nimport { ClStateService } from '../../services';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProgressBarDialogService {\n private readonly clStateService = inject(ClStateService);\n\n close(): void {\n this.clStateService.updateStateMessage({\n type: 'progess-bar-dialog-close'\n });\n }\n\n open(): void {\n this.clStateService.updateStateMessage({\n type: 'progess-bar-dialog-open'\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n selector: 'cl-readonly-value',\n imports: [],\n templateUrl: './readonly-value.component.html',\n styleUrl: './readonly-value.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ReadonlyValueComponent {\n readonly label = input<string>();\n readonly value = input<any>();\n}\n","<div>\n <strong>{{ label() }}</strong>\n <div>{{ value() }}</div>\n</div>\n","import { ChangeDetectionStrategy, Component, effect, inject } from '@angular/core';\nimport { ToastModule } from 'primeng/toast';\nimport { MessageService, ToastMessageOptions } from 'primeng/api';\n\nimport { ClStateService } from '../../services';\n\n@Component({\n selector: 'cl-toasts',\n imports: [\n ToastModule,\n ],\n templateUrl: './toasts.component.html',\n styleUrl: './toasts.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ToastsComponent {\n private readonly clStateService = inject(ClStateService);\n private readonly messageService = inject(MessageService);\n\n constructor () {\n effect(() => {\n const message = this.clStateService.stateMessage();\n\n if (message?.type === 'toast') {\n const {detail, severity, summary} = message?.payload;\n\n this.add(detail, summary, severity, 'general');\n }\n });\n }\n\n private add(detail: string, summary: string, severity: string, key?: string): void {\n const message: ToastMessageOptions = { detail, severity, summary };\n\n if (key) {\n message.key = key;\n }\n\n setTimeout(() => {\n this.messageService.add(message);\n });\n }\n}\n","<p-toast key=\"general\" position=\"bottom-center\" />\n","import { Injectable, inject } from '@angular/core';\n\nimport { ClStateService } from '../../services';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToastsService {\n private readonly clStateService = inject(ClStateService);\n\n toastError(detail: string, summary = 'Error'): void {\n this.clStateService.updateStateMessage({\n payload: {\n detail,\n severity: 'error',\n summary\n },\n type: 'toast'\n });\n }\n\n toastSuccess(detail: string, summary = 'Success'): void {\n this.clStateService.updateStateMessage({\n payload: {\n detail,\n severity: 'success',\n summary\n },\n type: 'toast'\n });\n }\n\n toastWarning(detail: string, summary = 'Warning'): void {\n this.clStateService.updateStateMessage({\n payload: {\n detail,\n severity: 'warning',\n summary\n },\n type: 'toast'\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, OnDestroy, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AbstractControl, ControlValueAccessor, FormArray, FormControl, FormGroup,\n ValidationErrors, Validator } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n@Component({\n imports: [CommonModule],\n template: '',\n styles: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BaseFormComponent implements ControlValueAccessor, OnDestroy,\n Validator {\n readonly control = this.getForm();\n readonly disabled = signal(false);\n protected readonly subscription = new Subscription();\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n // Control Value Accessor methods\n\n registerOnChange(fn: any): void {\n this.subscription.add(\n this.control.valueChanges.subscribe(fn)\n );\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n if (isDisabled) {\n this.control.disable();\n } else {\n this.control.enable();\n }\n\n setTimeout(() => {\n this.disabled.set(isDisabled);\n });\n }\n\n writeValue(obj: any): void {\n if (obj) {\n this.setValue(obj);\n }\n }\n\n // Validator methods\n\n validate(control?: AbstractControl): ValidationErrors | null {\n if (this.control.invalid) {\n return { invalid: true };\n }\n\n return null;\n }\n\n // Custom protected methods\n\n protected getForm(): FormArray | FormControl | FormGroup {\n throw new Error('Not implemented.');\n }\n\n protected setValue(value: any): void {\n this.control.patchValue(value);\n\n this.onChanged(value);\n this.onTouched();\n }\n\n // Custom private methods\n\n private onChanged: any = (value: any) => {};\n\n private onTouched: any = () => {};\n\n // Getters and setters\n\n get formArray(): FormArray {\n return this.control as FormArray;\n }\n\n get formControl(): FormControl {\n return this.control as FormControl;\n }\n\n get formGroup(): FormGroup {\n return this.control as FormGroup;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, input, output, signal,\n viewChild } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR }\nfrom '@angular/forms';\nimport { cloneDeep } from 'lodash-es';\nimport { ButtonModule } from 'primeng/button';\nimport { v4 } from 'uuid';\n\nimport { ButtonComponent } from '../../controls/button';\n\n@Component({\n selector: 'cl-file-input',\n imports: [\n ButtonComponent,\n ButtonModule,\n CommonModule,\n FormsModule\n ],\n templateUrl: './file-input.component.html',\n styleUrl: './file-input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FileInputComponent,\n }\n ]\n})\nexport class FileInputComponent implements ControlValueAccessor {\n readonly directory = input('');\n readonly icon = input('pi pi-plus');\n readonly label = input('Browse');\n readonly readonly = input(false);\n readonly onDownloadEmitter = output<FileInput[]>({alias: 'onDownload'});\n readonly fileInput = viewChild<ElementRef>('fileInput');\n\n readonly fileName = signal('');\n readonly isDisabled = signal(false);\n readonly isFileSelected = signal(false);\n readonly value = signal<FileInputValue>(null);\n\n // ControlValueAccessor interface methods\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n setTimeout(() => {\n this.isDisabled.set(isDisabled);\n });\n }\n\n writeValue(value: FileInput[] | string | null = null): void {\n let newValue: FileInput[] = [];\n\n if (Array.isArray(value)) {\n newValue = cloneDeep(value);\n\n this.selectFile(newValue[0]);\n } else if (typeof value === 'string') {\n const lastSlashPosition = value.lastIndexOf('/');\n const fileName = value.substring(lastSlashPosition + 1, value.length);\n const name = fileName.split('.');\n\n const file: FileInput = {\n isNew: !value,\n hash: name[1],\n name: fileName,\n path: this.directory(),\n toDelete: false\n };\n\n newValue.push(file);\n\n this.selectFile(file);\n }\n\n this.setValue(newValue);\n }\n\n // Custom public methods\n\n onClick(): void {\n this.fileInput()?.nativeElement.click();\n this.onTouched();\n }\n\n onFileSelected(event: Event): void {\n const file: File = (event.target as HTMLInputElement).files![0];\n const name = file.name.split('.');\n\n if (file) {\n const hash = v4().split('-')[0];\n const newFile: FileInput = {\n file,\n hash,\n isNew: true,\n name: `${encodeURIComponent(name[0])}.${hash}.${name[1]}`,\n path: this.directory(),\n toDelete: false\n };\n const newValue = [...this.value()!] as FileInput[];\n\n newValue.push(newFile);\n\n this.selectFile(newFile);\n this.setValue(newValue);\n }\n }\n\n onDelete(): void {\n const newValue = [...this.value()!];\n const file = this.getLastFile(newValue);\n\n if (file) {\n if (file.isNew) {\n newValue.pop();\n } else {\n file.toDelete = true;\n }\n\n this.fileName.set('');\n this.isFileSelected.set(false);\n this.setValue(newValue);\n }\n }\n\n onDownload(): void {\n this.onDownloadEmitter.emit(this.value() as FileInput[]);\n }\n\n // Custom private methods\n\n private getLastFile(value: FileInput[]): FileInput | undefined {\n return value[value.length - 1];\n }\n\n private onChange: any = (value: FileInputValue) => {};\n\n private onTouched: any = () => {};\n\n private selectFile(file: FileInput): void {\n this.fileName.set(getSafeFileName(file));\n this.isFileSelected.set(true);\n }\n\n private setValue(value: FileInputValue): void {\n this.value.set(value);\n\n this.onChange(value);\n this.onTouched();\n }\n}\n\nfunction getSafeFileName(file: FileInput): string {\n const name = file.name.split('.');\n\n return `${decodeURIComponent(name[0])}.${name[2]}`;\n}\n\nexport interface FileInput {\n file?: File;\n hash: string;\n isNew: boolean;\n name: string;\n path: string;\n toDelete: boolean;\n}\n\ntype FileInputValue = FileInput[] | null;\n","<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","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, input,\n output} from '@angular/core';\nimport { AbstractControl, FormArray, FormControl, FormsModule, NG_VALIDATORS,\n NG_VALUE_ACCESSOR, ReactiveFormsModule, ValidationErrors, Validators }\n from '@angular/forms';\nimport { ButtonModule } from 'primeng/button';\n\nimport { BaseFormComponent } from '../base-form';\nimport { FileInput, FileInputComponent } from '../file-input';\n\n@Component({\n selector: 'cl-file-inputs',\n imports: [\n ButtonModule,\n FileInputComponent,\n FormsModule,\n ReactiveFormsModule,\n ],\n templateUrl: './file-inputs.component.html',\n styleUrl: './file-inputs.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: FileInputsComponent\n },\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FileInputsComponent\n }\n ]\n})\nexport class FileInputsComponent extends BaseFormComponent {\n private readonly cdRef = inject(ChangeDetectorRef);\n\n readonly directory = input('');\n readonly icon = input('pi pi-plus');\n readonly label = input('Browse');\n readonly max = input<number>(5);\n readonly readonly = input(false);\n readonly onDownloadEmitter = output<FileInput[]>({alias: 'onDownload'});\n\n onAdd(): void {\n this.formArray.push(\n new FormControl()\n );\n\n this.cdRef.markForCheck();\n }\n\n onDelete(index: number): void {\n this.formArray.removeAt(index);\n\n this.cdRef.markForCheck();\n }\n\n onDownload(file: FileInput[]): void {\n this.onDownloadEmitter.emit(file);\n }\n\n override setDisabledState(isDisabled: boolean): void {\n for (const control of this.formArray.controls) {\n if (isDisabled) {\n control.disable();\n } else {\n control.enable();\n }\n }\n }\n\n override validate(control?: AbstractControl): ValidationErrors | null {\n if (control?.hasValidator(Validators.required) && Array.isArray(control?.value)) {\n const first = control.value[0];\n\n if (!(\n typeof first === 'string' ||\n (Array.isArray(first) && first.some(({toDelete}) => toDelete === false))\n )) {\n return {\n required: true\n };\n }\n }\n\n return null;\n }\n\n override writeValue(value: FileInputsValue): void {\n if (Array.isArray(value)) {\n setTimeout(() => {\n if (value.length === 0) {\n this.onAdd();\n } else {\n for (let i = 0, j = value.length; i < j; i++) {\n this.onAdd();\n }\n\n this.setValue(value);\n }\n });\n } else if (!this.readonly()) {\n this.onAdd();\n }\n }\n\n protected override getForm(): FormArray<any> {\n return new FormArray<any>([]);\n }\n}\n\ntype FileInputsValue = FileInput[][] | null;\n","<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","import { Directive, InjectionToken } from '@angular/core';\n\nexport const ERROR_DIRECTIVE = new InjectionToken<ErrorDirective>('ErrorDirective');\n\n@Directive({\n selector: 'ff-error',\n standalone: true,\n providers: [\n { provide: ERROR_DIRECTIVE, useExisting: ErrorDirective }\n ]\n})\nexport class ErrorDirective {\n\n}\n","import { Component, InjectionToken, ViewEncapsulation, computed, contentChild }\n from '@angular/core';\nimport { FormControlName, Validators } from '@angular/forms';\n\nexport const FORM_FIELD = new InjectionToken<FormFieldComponent>('FormFieldComponent');\n\n@Component({\n selector: 'cl-form-field',\n imports: [],\n templateUrl: './form-field.component.html',\n styleUrl: './form-field.component.scss',\n // changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: FORM_FIELD, useExisting: FormFieldComponent }\n ]\n})\nexport class FormFieldComponent {\n readonly control = contentChild(FormControlName);\n\n readonly isRequired = computed(() =>\n this.control()?.control.hasValidator(Validators.required) ?? false\n );\n}\n","<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","import { Directive, InjectionToken } from '@angular/core';\n\nexport const LABEL_DIRECTIVE = new InjectionToken<LabelDirective>('LabelDirective');\n\n@Directive({\n selector: 'ff-label',\n standalone: true,\n providers: [\n { provide: LABEL_DIRECTIVE, useExisting: LabelDirective }\n ]\n})\nexport class LabelDirective {\n\n}\n","import { NgModule } from '@angular/core';\n\nimport { ErrorDirective } from './error.directive';\nimport { FormFieldComponent } from './form-field.component';\nimport { LabelDirective } from './label.directive';\n\n@NgModule({\n exports: [\n ErrorDirective,\n FormFieldComponent,\n LabelDirective,\n ],\n imports: [\n ErrorDirective,\n FormFieldComponent,\n LabelDirective,\n ]\n})\nexport class FormFieldModule { }\n","export type ClState = {\n stateMessage: ClStateMessage | null;\n};\n\nexport interface ClStateMessage {\n key?: string;\n payload?: any;\n type: ClStateMessageType;\n};\n\nexport type ClStateMessageType = 'confirmation' | 'confirmation-accept' |\n 'confirmation-cancel' | 'content-dialog' | 'content-dialog-cancel' |\n 'content-dialog-close' | 'form-dialog' | 'form-dialog-cancel' |\n 'form-dialog-submit' | 'progess-bar-dialog-close' | 'progess-bar-dialog-open' |\n 'toast';\n","import { NgModule } from '@angular/core';\nimport { ConfirmationService, MessageService } from 'primeng/api';\nimport { DialogService, DynamicDialogConfig } from 'primeng/dynamicdialog';\n\n@NgModule({\n providers: [\n ConfirmationService,\n DialogService,\n DynamicDialogConfig,\n MessageService,\n ]\n})\nexport class CommonLibModule { }\n","import { concatWith, Observable, toArray } from 'rxjs';\n\nexport function concatWithToArray<T>(values: Observable<T>[]): Observable<T[]> {\n return values[0].pipe(\n concatWith(...values.slice(1)),\n toArray()\n );\n}\n","/*\n * Public API Surface of common-lib\n */\n\n// Controls\n\nexport * from './lib/controls/button';\nexport * from './lib/controls/confirmation';\nexport * from './lib/controls/content-dialog';\nexport * from './lib/controls/form-dialog';\nexport * from './lib/controls/icon-button';\nexport * from './lib/controls/progress-bar-dialog';\nexport * from './lib/controls/readonly-value';\nexport * from './lib/controls/toasts';\n\n// Forms\n\nexport * from './lib/forms/base-form';\nexport * from './lib/forms/file-input';\nexport * from './lib/forms/file-inputs';\nexport * from './lib/forms/form-field';\n\n// Models\n\nexport * from './lib/models';\n\n// Modules\n\nexport * from './lib/common-lib.module';\n\n// RXJS Operators\n\nexport * from './lib/rxjs-operators';\n\n// Services\n\nexport * from './lib/services'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["PrimengButtonModule","PngConfirmationService","i1","i2","ConfirmationService"],"mappings":"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"}
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jm-7c3/common-lib",
3
- "version": "1.7.2",
3
+ "version": "1.7.4",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.1.0",
6
6
  "@angular/core": "^19.1.0",
@@ -15,6 +15,10 @@
15
15
  "tslib": "^2.3.0"
16
16
  },
17
17
  "sideEffects": false,
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "https://github.com/jm-7c3/ngx-common-library.git"
21
+ },
18
22
  "module": "fesm2022/jm-7c3-common-lib.mjs",
19
23
  "typings": "index.d.ts",
20
24
  "exports": {
Binary file