chrv-components 1.10.78 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/chrv-components-1.11.0.tgz +0 -0
  2. package/fesm2022/chrv-components.mjs +1196 -1028
  3. package/fesm2022/chrv-components.mjs.map +1 -1
  4. package/index.d.ts +1417 -3
  5. package/package.json +1 -1
  6. package/chrv-components-1.10.78.tgz +0 -0
  7. package/lib/animations/in-out.animation.d.ts +0 -1
  8. package/lib/animations/rotation.animation.d.ts +0 -1
  9. package/lib/chr-breadcrumb/chr-breadcrumb.component.d.ts +0 -15
  10. package/lib/chr-button/chr-button.component.d.ts +0 -27
  11. package/lib/chr-checkbox/chr-checkbox.component.d.ts +0 -13
  12. package/lib/chr-default-modal/chr-default-modal.component.d.ts +0 -36
  13. package/lib/chr-delete-modal/chr-delete-modal.component.d.ts +0 -12
  14. package/lib/chr-form/chr-base-input/chr-base-input.component.d.ts +0 -177
  15. package/lib/chr-form/chr-color-input/chr-color-input.component.d.ts +0 -10
  16. package/lib/chr-form/chr-date-input/chr-date-input.component.d.ts +0 -16
  17. package/lib/chr-form/chr-datetime-input/chr-datetime-input.component.d.ts +0 -16
  18. package/lib/chr-form/chr-file-input/chr-file-input.component.d.ts +0 -43
  19. package/lib/chr-form/chr-form.component.d.ts +0 -137
  20. package/lib/chr-form/chr-nice-file-input/chr-nice-file-input.component.d.ts +0 -8
  21. package/lib/chr-form/chr-textarea-input/chr-textarea-input.component.d.ts +0 -15
  22. package/lib/chr-form/chr-toggle-input/chr-toggle-input.component.d.ts +0 -10
  23. package/lib/chr-paginator/chr-paginator.component.d.ts +0 -42
  24. package/lib/chr-search-select/chr-search-select.component.d.ts +0 -71
  25. package/lib/chr-searchbar/chr-searchbar.component.d.ts +0 -14
  26. package/lib/chr-separator/chr-separator.component.d.ts +0 -5
  27. package/lib/chr-spinner/chr-spinner.component.d.ts +0 -16
  28. package/lib/chr-table/chr-table.component.d.ts +0 -94
  29. package/lib/chr-table-header-cell/chr-table-header-cell.component.d.ts +0 -19
  30. package/lib/chr-table-new/chr-table-new.component.d.ts +0 -147
  31. package/lib/chr-tag-select/chr-tag-select.component.d.ts +0 -66
  32. package/lib/chr-toast/chr-toast.component.d.ts +0 -9
  33. package/lib/config/interceptors/SpinnerInterceptor.d.ts +0 -2
  34. package/lib/config/interceptors/XsrfInterceptor.d.ts +0 -5
  35. package/lib/config/ngx-mask.config.d.ts +0 -49
  36. package/lib/config/providers/xsrf-provider.d.ts +0 -13
  37. package/lib/directives/autofocus.directive.d.ts +0 -10
  38. package/lib/directives/tab-input-only-handler.directive.d.ts +0 -9
  39. package/lib/directives/tab-to-enter-handler.directive.d.ts +0 -9
  40. package/lib/models/chr-validators/base-validator.d.ts +0 -12
  41. package/lib/models/chr-validators/decimal-validator.d.ts +0 -10
  42. package/lib/models/chr-validators/max-date-validator.d.ts +0 -10
  43. package/lib/models/chr-validators/max-file-size-validator.d.ts +0 -10
  44. package/lib/models/chr-validators/maxlength-validator.d.ts +0 -10
  45. package/lib/models/chr-validators/min-file-size-validator.d.ts +0 -10
  46. package/lib/models/chr-validators/minlength-validator.d.ts +0 -10
  47. package/lib/models/chr-validators/required-validator.d.ts +0 -10
  48. package/lib/models/chr-validators/type-validator.d.ts +0 -10
  49. package/lib/models/colors.d.ts +0 -10
  50. package/lib/models/controls.d.ts +0 -38
  51. package/lib/models/file.d.ts +0 -7
  52. package/lib/models/live-update-message.d.ts +0 -12
  53. package/lib/services/cookie.service.d.ts +0 -25
  54. package/lib/services/data.service.d.ts +0 -18
  55. package/lib/services/dialog.service.d.ts +0 -12
  56. package/lib/services/files.service.d.ts +0 -15
  57. package/lib/services/live-update.service.d.ts +0 -22
  58. package/lib/services/loader.service.d.ts +0 -16
  59. package/lib/services/toast.service.d.ts +0 -23
  60. package/public-api.d.ts +0 -49
package/index.d.ts CHANGED
@@ -1,5 +1,1419 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnInit, AfterViewInit, OnDestroy, EventEmitter, AfterViewChecked, AfterContentChecked, ElementRef, ViewContainerRef, QueryList, AfterContentInit, InjectionToken, Type } from '@angular/core';
3
+ import { Router, UrlTree } from '@angular/router';
4
+ import { MatDialogRef, MatDialogConfig } from '@angular/material/dialog';
5
+ export * from '@angular/material/dialog';
6
+ import * as _angular_forms from '@angular/forms';
7
+ import { AbstractControl, ValidationErrors, ValidatorFn, AsyncValidatorFn, FormControl, FormGroup, ControlValueAccessor, NgControl, Validator } from '@angular/forms';
8
+ import * as rxjs from 'rxjs';
9
+ import { Subject, Subscription, Observable, BehaviorSubject } from 'rxjs';
10
+ import { MatAutocomplete } from '@angular/material/autocomplete';
11
+ import { PaginationService, PaginationInstance } from 'ngx-pagination';
12
+ export * from 'ngx-pagination';
13
+ import { SafeHtml, DomSanitizer } from '@angular/platform-browser';
14
+ import { HttpClient, HttpInterceptorFn, HttpEvent, HttpFeature } from '@angular/common/http';
15
+ import * as _angular_animations from '@angular/animations';
16
+ export * from 'chrv-pipes';
17
+ export * from 'ngx-mask';
18
+
19
+ interface Breadcrumb {
20
+ display: string;
21
+ link?: string;
22
+ callback?: Function;
23
+ }
24
+ declare class BreadcrumbComponent {
25
+ router: Router;
26
+ readonly crumbs: _angular_core.InputSignal<Breadcrumb[] | undefined>;
27
+ navigateTo: (uri: string, data?: any) => void;
28
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BreadcrumbComponent, never>;
29
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BreadcrumbComponent, "app-chr-breadcrumb", never, { "crumbs": { "alias": "crumbs"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
30
+ }
31
+
32
+ type Color = 'primary' | 'primary-contrast' | 'secondary' | 'secondary-contrast' | 'tertiary' | 'tertiary-contrast' | 'warn' | 'warn-contrast' | 'error' | 'error-contrast' | 'black' | 'white' | 'none';
33
+ declare const Colors: {
34
+ [key: string]: string;
35
+ };
36
+ declare function getTextColor(color?: Color): string;
37
+ declare function getContrastTextColor(color: Color): string;
38
+ declare function getBackgroundColor(color?: Color): string;
39
+ declare function getContrastBackgroundColor(color: Color): never;
40
+ declare function getBorderColor(color?: Color): string;
41
+ declare function getContrastBorderColor(color?: Color): string;
42
+
43
+ declare class ChrButtonComponent {
44
+ readonly display: _angular_core.InputSignal<string | undefined>;
45
+ readonly icon: _angular_core.InputSignal<string | undefined>;
46
+ readonly click: _angular_core.InputSignal<Function | undefined>;
47
+ readonly clickWhileDisabled: _angular_core.InputSignal<Function | undefined>;
48
+ readonly color: _angular_core.InputSignal<Color>;
49
+ readonly textColor: _angular_core.InputSignal<Color | undefined>;
50
+ readonly flat: _angular_core.InputSignal<boolean>;
51
+ readonly predicate: _angular_core.InputSignal<boolean | undefined>;
52
+ readonly type: _angular_core.InputSignal<"none" | "responsive" | "table" | "full" | "fixed" | "small">;
53
+ readonly href: _angular_core.InputSignal<string | undefined>;
54
+ readonly target: _angular_core.InputSignal<"_blank" | "_parent" | "_self" | "_top" | undefined>;
55
+ readonly disabled: _angular_core.InputSignal<boolean>;
56
+ readonly tooltip: _angular_core.InputSignal<string | undefined>;
57
+ readonly tooltipPosition: _angular_core.InputSignal<"above" | "below" | "left" | "right" | "before" | "after" | undefined>;
58
+ constructor();
59
+ doClick: () => void;
60
+ getBackgroundColor: (color: Color) => string;
61
+ getTextColor: (color: Color) => string;
62
+ getWidth: () => "w-36" | "w-full" | "w-9" | "w-min";
63
+ getShadow: () => "" | "button-shadow";
64
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrButtonComponent, never>;
65
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrButtonComponent, "app-chr-button", never, { "display": { "alias": "display"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "click": { "alias": "click"; "required": false; "isSignal": true; }; "clickWhileDisabled": { "alias": "clickWhileDisabled"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "textColor": { "alias": "textColor"; "required": false; "isSignal": true; }; "flat": { "alias": "flat"; "required": false; "isSignal": true; }; "predicate": { "alias": "predicate"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
66
+ }
67
+
68
+ declare class ChrDeleteModalComponent {
69
+ dialogRef: MatDialogRef<ChrDeleteModalComponent, any>;
70
+ valid: boolean;
71
+ ngOnInit(): void;
72
+ cancel: () => void;
73
+ close: () => void;
74
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrDeleteModalComponent, never>;
75
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrDeleteModalComponent, "app-chr-delete-modal", never, {}, {}, never, never, true, never>;
76
+ }
77
+
78
+ interface IControlValidation {
79
+ rule: string;
80
+ validator?: (control: AbstractControl) => ValidationErrors | null;
81
+ key?: string;
82
+ value?: any;
83
+ display?: string;
84
+ }
85
+ declare function SyncValidatorToAsync(validator: ValidatorFn): AsyncValidatorFn;
86
+ declare function getValidators(rules?: IControlValidation[]): ValidatorFn[];
87
+ declare function getAsyncValidators(rules?: IControlValidation[]): AsyncValidatorFn[];
88
+ declare function getSyncValidators(rules?: IControlValidation[]): ValidatorFn[];
89
+
90
+ type InputType = 'text' | 'password' | 'textArea' | 'number' | 'date' | 'datetime' | 'searchSelect' | 'tagSelect' | 'color' | 'toggle' | 'file' | 'hidden';
91
+ interface ISearchFilter {
92
+ display: string;
93
+ callback?: Function;
94
+ tooltip?: string;
95
+ }
96
+ interface IControl {
97
+ label?: string;
98
+ name: string;
99
+ span?: string;
100
+ width?: 'col' | 'row';
101
+ col?: number;
102
+ row?: number;
103
+ type: InputType;
104
+ accept?: string[];
105
+ debounceTime?: number;
106
+ value?: any;
107
+ data?: any[] | null;
108
+ icon?: string;
109
+ iconCallback?: Function;
110
+ iconCallbackDisabled?: boolean;
111
+ iconTooltip?: string;
112
+ fn?: (object: any) => string;
113
+ filters?: ISearchFilter[];
114
+ validations?: IControlValidation[];
115
+ addCallback?: ((entry: any, subject: Subject<any>) => any | null | void) | null;
116
+ editCallback?: ((entry: any, subject: Subject<any>) => any | null | void) | null;
117
+ removeCallback?: ((entry: any) => any | null | void) | null;
118
+ acceptText?: boolean;
119
+ multiple?: boolean;
120
+ /**
121
+ * Should the file be converted to base64 for sending
122
+ */
123
+ base64?: boolean;
124
+ autofocus?: boolean;
125
+ }
126
+
127
+ interface IFormSection {
128
+ title?: string;
129
+ controls: IControl[];
130
+ }
131
+ declare class ChrFormComponent implements OnInit {
132
+ private builder;
133
+ private changeDetector;
134
+ private element;
135
+ readonly sections: _angular_core.InputSignal<IFormSection[]>;
136
+ readonly controls: _angular_core.InputSignal<IControl[]>;
137
+ readonly validators: _angular_core.InputSignal<ValidatorFn | ValidatorFn[] | null>;
138
+ readonly valid: _angular_core.InputSignal<boolean>;
139
+ readonly validChange: _angular_core.OutputEmitterRef<boolean>;
140
+ readonly model: _angular_core.InputSignal<any>;
141
+ readonly modelChange: _angular_core.OutputEmitterRef<any>;
142
+ readonly formDataChange: _angular_core.OutputEmitterRef<FormData>;
143
+ readonly disabled: _angular_core.InputSignal<boolean>;
144
+ readonly valuesChanges: _angular_core.OutputEmitterRef<any>;
145
+ readonly submit: _angular_core.InputSignal<Function | undefined>;
146
+ readonly compact: _angular_core.InputSignal<boolean>;
147
+ readonly debounceTime: _angular_core.InputSignal<number | null>;
148
+ readonly formChange: _angular_core.OutputEmitterRef<{
149
+ [key: string]: any;
150
+ }>;
151
+ readonly valueChanges: _angular_core.OutputEmitterRef<{
152
+ [name: string]: any;
153
+ }>;
154
+ readonly tabDisplay: _angular_core.InputSignal<boolean>;
155
+ formControls: {
156
+ [key: string]: FormControl;
157
+ };
158
+ /**
159
+ * The related ReactiveForm of the form group. This is exposed to allow form extension and usage of custom form controls while still maintaining centralised validation and validity
160
+ */
161
+ readonly form: _angular_core.InputSignal<FormGroup<any>>;
162
+ readonly formChanges: _angular_core.OutputEmitterRef<FormGroup<any> | null>;
163
+ private values;
164
+ private controlTypes;
165
+ private flattenedControls;
166
+ private flattenedShownControl;
167
+ private flattenedHiddenControls;
168
+ initialized: boolean;
169
+ constructor();
170
+ ngOnInit(): void;
171
+ private initModel;
172
+ private initValues;
173
+ private initControls;
174
+ private initListeners;
175
+ private hasRegularFile;
176
+ getEncType: () => string;
177
+ /**
178
+ * Methods that returns the FormControl for the given input. If no FormControl is found, return null.
179
+ * @param name input's name
180
+ * @returns the FormControl whose name matches the parameter
181
+ */
182
+ getControl: (name: string) => _angular_forms.AbstractControl<any, any> | null;
183
+ /**
184
+ * Focus the input for the user to start typing in.
185
+ * @param name input's name
186
+ */
187
+ focus: (name: string) => void;
188
+ /**
189
+ * Returns the value of the input whose name matches the parameter input.
190
+ * If no input name is provided, returns the value of the form.
191
+ * @param input name of the input
192
+ * @returns the value of the input
193
+ */
194
+ value: (input?: string) => any;
195
+ /**
196
+ * Returns the value of the input whose name matches the parameter input.
197
+ * If no input name is provided, returns the value of the form.
198
+ * @param input name of the input
199
+ * @returns the value of the input
200
+ */
201
+ getValue: (input?: string) => any;
202
+ /**
203
+ * Returns the validity of the input.
204
+ * If no input is provided, returns the validity of the form.
205
+ * @param input name of the input
206
+ * @returns
207
+ */
208
+ isValid: (input?: string) => boolean | undefined;
209
+ /**
210
+ * Update the value of a control WITHOUT triggering the modelChange event
211
+ * @param key input key (control name)
212
+ * @param value value to set
213
+ */
214
+ setValue: (key: string, value: any) => void;
215
+ /**
216
+ * Update the value of the form's model WITHOUT triggering the modelChange event
217
+ * @param model the model to set
218
+ */
219
+ set: (model: any) => void;
220
+ /**
221
+ * Updates the value of a control. This WILL trigger the modelChange event
222
+ * @param key input key (control name)
223
+ * @param value value to set
224
+ */
225
+ patchValue: (key: string, value: any) => void;
226
+ /**
227
+ * Updates the value of the form's model. This WILL trigger the modelChange event once for each input
228
+ * @param model model to set
229
+ */
230
+ patch: (model: any) => void;
231
+ /**
232
+ * Methods that checks the validity of each input of the form and updates their status. If the markAsTouched parameter si set to true, it will also mark the inputs as touched
233
+ * so that the validation errors may be displayed to the user.
234
+ * @param markAsTouched Boolean that describes whether or not the inputs of the form will be marked as touched.
235
+ */
236
+ checkValidity: (markAsTouched?: boolean) => void;
237
+ /**
238
+ * Here for compatibility. Same thing as checkValidity.
239
+ */
240
+ updateValueAndValidity: (markAsTouched?: boolean) => void;
241
+ /**
242
+ * Resets the form.
243
+ */
244
+ reset: () => void;
245
+ toFormData: () => FormData;
246
+ protected get: (control: IControl) => _angular_forms.AbstractControl<any, any> | null;
247
+ private setValue$;
248
+ private setModel$;
249
+ /**
250
+ * Triggers the submit method and pass the local values as its parameters. The local values will contain the values of every input. Not just those that match de model's property (ex: like those provided by the modelChanges event).
251
+ */
252
+ doSubmit: () => void;
253
+ protected log: (el: any) => void;
254
+ protected initializeControl: (control: IControl, formControl: FormControl) => void;
255
+ alert: (s: string) => void;
256
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrFormComponent, never>;
257
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrFormComponent, "app-chr-form", never, { "sections": { "alias": "sections"; "required": false; "isSignal": true; }; "controls": { "alias": "controls"; "required": false; "isSignal": true; }; "validators": { "alias": "validators"; "required": false; "isSignal": true; }; "valid": { "alias": "valid"; "required": false; "isSignal": true; }; "model": { "alias": "model"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "submit": { "alias": "submit"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "debounceTime": { "alias": "debounceTime"; "required": false; "isSignal": true; }; "tabDisplay": { "alias": "tabDisplay"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; }, { "validChange": "validChange"; "modelChange": "modelChange"; "formDataChange": "formDataChange"; "valuesChanges": "valuesChanges"; "formChange": "formChange"; "valueChanges": "valueChanges"; "formChanges": "formChanges"; }, never, never, true, never>;
258
+ }
259
+
260
+ declare class ChrBaseInputComponent implements OnInit, ControlValueAccessor, AfterViewInit, OnDestroy {
261
+ /**
262
+ * The label that will be shown to the user for this input.
263
+ */
264
+ readonly label: _angular_core.InputSignal<string | null>;
265
+ /**
266
+ * The type of the input. The BaseInput class is designed to be used for the basic text/number/password/hidden types. Any other kind of input would probably benefit of a custom component inheriting BaseInput.
267
+ */
268
+ readonly type: _angular_core.InputSignal<InputType>;
269
+ /**
270
+ * The id of the input.
271
+ */
272
+ readonly id: _angular_core.InputSignal<string | null>;
273
+ /**
274
+ * The name of the input. It's the model's property name or the key that will be set to the value object
275
+ */
276
+ readonly name: _angular_core.InputSignal<string | null>;
277
+ private _value;
278
+ get value(): any | null;
279
+ set value(value: any | null);
280
+ private valueSubject;
281
+ private valueSubscription;
282
+ /**
283
+ * The value change event. This will be triggered both by onChange and by onValueChange (they technically should not be fired together as onValueChange ends up calling onChange)
284
+ */
285
+ valueChanges: EventEmitter<any>;
286
+ /**
287
+ * Whether or not the input is required
288
+ */
289
+ protected required: boolean;
290
+ /**
291
+ * Span that will be shown under the input
292
+ */
293
+ readonly span: _angular_core.InputSignal<string | null>;
294
+ /**
295
+ * Name of the material icon that will be displayed
296
+ */
297
+ readonly icon: _angular_core.InputSignal<string | null>;
298
+ /**
299
+ * A callback function that will be triggered on the input's icon click with the current value of the input
300
+ */
301
+ readonly iconCallback: _angular_core.InputSignal<((value: any) => string | void) | null>;
302
+ /**
303
+ * Whether or not the icon's callback is enabled
304
+ */
305
+ readonly iconCallbackDisabled: _angular_core.InputSignal<boolean>;
306
+ /**
307
+ * Tooltip that will be displayed when hovering the input's icon
308
+ */
309
+ readonly iconTooltip: _angular_core.InputSignal<string | null>;
310
+ /**
311
+ * Tooltip that will be displayed on hover
312
+ */
313
+ readonly tooltip: _angular_core.InputSignal<string | null>;
314
+ /**
315
+ * Debounce time that will be used by the input before throwing the new value event
316
+ */
317
+ readonly debounceTime: _angular_core.InputSignal<number | null | undefined>;
318
+ /**
319
+ * Validations that will be evaluated for the input. In the case of custom validator function, the return object needs to contain a key with the 'rule' and it's value needs to be 'true'
320
+ */
321
+ readonly validations: _angular_core.InputSignal<IControlValidation[]>;
322
+ /**
323
+ * Indicates whether or not this input is being used outside a ReactiveForm. Default is false. If this is false, the input will create it's own FormControl as to enable it's complex behaviors
324
+ */
325
+ readonly standalone: _angular_core.InputSignal<boolean>;
326
+ /**
327
+ * Indicates whether or not this input should try catching the focus on page load
328
+ */
329
+ readonly autofocus: _angular_core.InputSignal<boolean>;
330
+ /**
331
+ * Indicates whether or not this input should convert the file to base64 for it to be sent as part of the object.
332
+ * If this is false, the file won't be converted and will be sent as part as the regular form process.
333
+ * Default is true to allow full JS manipulation of files et upload progress report.
334
+ */
335
+ readonly base64: _angular_core.InputSignal<boolean>;
336
+ private _disabled;
337
+ /**
338
+ * Getter and setter that allow the control of the FormControl's state from the template
339
+ */
340
+ get disabled(): boolean;
341
+ set disabled(value: boolean);
342
+ /**
343
+ * Whether or not the input starts as disabled. This can then be changed through the form control.
344
+ */
345
+ isDisabled: boolean;
346
+ /**
347
+ * Array of string representing the input's siblings' FormControl's name. This will be used to trigger the validity of the siblings when this input's value changes
348
+ */
349
+ readonly siblings: _angular_core.InputSignal<string[]>;
350
+ onChange: any;
351
+ onTouch: any;
352
+ /**
353
+ * Whether or not the input is touched
354
+ */
355
+ isTouched: boolean;
356
+ /**
357
+ * The NgControl associated with this input
358
+ */
359
+ protected control: NgControl | null;
360
+ /**
361
+ * The validity status of the related FormControl
362
+ */
363
+ isValid: boolean | null;
364
+ /**
365
+ * Every child should either call super(ngControl) or implement the logic for the input to bind the control to the FormControl.
366
+ * @param ngControl the FormControl binded to this CVA
367
+ */
368
+ constructor();
369
+ /**
370
+ * A callback method that is invoked immediately after the default change detector has checked the directive's data-bound properties for the first time, and before any of the view or content children have been checked. It is invoked only once when the directive is instantiated.
371
+ * In the case of the BaseInput class, this methods also subscribes to the onValueChange's subject as to register the debounce time.
372
+ *
373
+ * To use in any component inheriting the BaseInput Class, please call super.ngOnInit() at any point within the overriden ngOnInit() method.
374
+ */
375
+ ngOnInit(): void;
376
+ /**
377
+ * A callback method that is invoked immediately after Angular has completed initialization of a component's view. It is invoked only once when the view is instantiated.
378
+ *
379
+ * To use in any component inheriting the BaseInput Class, please call super.ngAfterViewInit() at any point within the overriden ngAfterViewInit() method.
380
+ */
381
+ ngAfterViewInit(): void;
382
+ /**
383
+ * A callback method that performs custom clean-up, invoked immediately before a directive, pipe, or service instance is destroyed.
384
+ * In the case of the BaseInput class, this methods also unsubscribe to the onValueChange's subject as to avoid leaving a stray observable.
385
+ *
386
+ * To use in any component inheriting the BaseInput Class, please call super.ngOnDestroy() at any point within the overriden ngOnDestroy() method.
387
+ */
388
+ ngOnDestroy(): void;
389
+ /**
390
+ * A method that returns the input's value. If it's linked to a formcontrol returns the formcontrol's value otherwise the local value
391
+ * @returns value any
392
+ */
393
+ getValue: () => any;
394
+ /**
395
+ * A method that can be used instead of onChange(value). It will pass the new value to an observable that will in turn add a debounce time then call the onchange function.
396
+ *
397
+ * In short, using this method instead of onChange will add a debounce time.
398
+ * @param value The new value of the input
399
+ * @returns the value observable
400
+ */
401
+ onValueChange: (value: any) => Subscription;
402
+ writeValue(obj: any): void;
403
+ registerOnChange(fn: any): void;
404
+ registerOnTouched(fn: any): void;
405
+ setDisabledState?(isDisabled: boolean): void;
406
+ protected updateValueAndValidity: () => void;
407
+ /**
408
+ * Despite it's name, this method returns a single validation error's display (even if there are multiple). And that is the first error found.
409
+ * @returns display of the last error
410
+ */
411
+ protected getLastError: () => string | null;
412
+ /**
413
+ * Returns a boolean describing whether or not the control is required
414
+ * @returns
415
+ */
416
+ protected isControlRequired: () => boolean;
417
+ /**
418
+ * Returns the current error status of the input.
419
+ * @returns
420
+ */
421
+ protected hasError: () => boolean;
422
+ private configureDebouncing;
423
+ private configureTouchBehavior;
424
+ private configureValidityReplication;
425
+ private configureFormControl;
426
+ private buildFormControl;
427
+ protected doCallback: () => void;
428
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrBaseInputComponent, never>;
429
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrBaseInputComponent, "chr-base-input", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "span": { "alias": "span"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconCallback": { "alias": "iconCallback"; "required": false; "isSignal": true; }; "iconCallbackDisabled": { "alias": "iconCallbackDisabled"; "required": false; "isSignal": true; }; "iconTooltip": { "alias": "iconTooltip"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "debounceTime": { "alias": "debounceTime"; "required": false; "isSignal": true; }; "validations": { "alias": "validations"; "required": false; "isSignal": true; }; "standalone": { "alias": "standalone"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "base64": { "alias": "base64"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; }; "siblings": { "alias": "siblings"; "required": false; "isSignal": true; }; }, { "valueChanges": "valueChanges"; }, never, never, true, never>;
430
+ }
431
+
432
+ declare class ChrColorInputComponent extends ChrBaseInputComponent implements OnInit, AfterViewInit, OnDestroy {
433
+ constructor();
434
+ parseColor: (event: string) => void;
435
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrColorInputComponent, never>;
436
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrColorInputComponent, "chr-color-input", never, {}, {}, never, never, true, never>;
437
+ }
438
+
439
+ declare class ChrDateInputComponent extends ChrBaseInputComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnDestroy {
440
+ private datePipe;
441
+ constructor();
442
+ writeValue(obj: any): void;
443
+ ngOnInit(): void;
444
+ onInputChange: (value: any) => void;
445
+ parseDate: (event: string) => Date | null;
446
+ dateToString: (value: Date) => string | null;
447
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrDateInputComponent, never>;
448
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrDateInputComponent, "chr-date-input", never, {}, {}, never, never, true, never>;
449
+ }
450
+
451
+ declare class ChrDatetimeInputComponent extends ChrBaseInputComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnDestroy {
452
+ private datePipe;
453
+ constructor();
454
+ writeValue(obj: any): void;
455
+ ngOnInit(): void;
456
+ onInputChange: (value: any) => void;
457
+ parseDate: (event: string) => Date | null;
458
+ dateToString: (value: Date) => string | null;
459
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrDatetimeInputComponent, never>;
460
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrDatetimeInputComponent, "chr-datetime-input", never, {}, {}, never, never, true, never>;
461
+ }
462
+
463
+ interface IFile {
464
+ name?: string;
465
+ file?: File | null;
466
+ url?: string | null;
467
+ data?: string | null;
468
+ extension?: string | null;
469
+ }
470
+
471
+ declare class ChrFileInputComponent extends ChrBaseInputComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnDestroy {
472
+ private fileService;
473
+ private toastService;
474
+ /**
475
+ * An array of string that contains each type that should be accepted by the input
476
+ */
477
+ readonly accept: _angular_core.InputSignal<string[]>;
478
+ /**
479
+ * Whether or not the input should allow multiple file selection
480
+ */
481
+ readonly multiple: _angular_core.InputSignal<boolean>;
482
+ valueDisplay: string | null;
483
+ /**
484
+ * Whether or not the progress bar that display a file's conversion progress will be editable by the user
485
+ */
486
+ readonly editable: _angular_core.InputSignal<boolean>;
487
+ errors: {
488
+ [index: number]: boolean;
489
+ } | null;
490
+ files: Observable<{
491
+ progress: number;
492
+ file?: IFile;
493
+ }>[];
494
+ constructor();
495
+ writeValue(obj: any | any[]): void;
496
+ ngOnInit(): void;
497
+ protected onFileChange: (event: any) => void;
498
+ protected acceptToString: () => string;
499
+ protected getToAccept: () => string;
500
+ protected changeFileName: (event: any, file?: IFile) => void;
501
+ protected openFile: (index: number, file?: IFile) => void;
502
+ protected removeFile: (index: number, file?: IFile) => void;
503
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrFileInputComponent, never>;
504
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrFileInputComponent, "chr-file-input", never, { "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
505
+ }
506
+
507
+ declare class ChrTextareaInputComponent extends ChrBaseInputComponent implements OnInit, AfterViewInit, OnDestroy, AfterViewChecked, AfterContentChecked {
508
+ readonly input: _angular_core.Signal<ElementRef<any> | null | undefined>;
509
+ constructor();
510
+ ngAfterViewInit(): void;
511
+ ngAfterContentChecked(): void;
512
+ ngAfterViewChecked(): void;
513
+ resize: (textArea?: HTMLTextAreaElement) => void;
514
+ preventSubmit: (event: Event) => void;
515
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrTextareaInputComponent, never>;
516
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrTextareaInputComponent, "chr-textarea-input", never, {}, {}, never, never, true, never>;
517
+ }
518
+
519
+ declare class ChrToggleInputComponent extends ChrBaseInputComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnDestroy {
520
+ constructor();
521
+ toggle: (event: any) => void;
522
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrToggleInputComponent, never>;
523
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrToggleInputComponent, "chr-toggle-input", never, {}, {}, never, never, true, never>;
524
+ }
525
+
526
+ interface IInputSearchFilter {
527
+ display: string;
528
+ callback?: Function;
529
+ tooltip?: string;
530
+ }
531
+ declare class ChrSearchSelectComponent extends ChrBaseInputComponent implements ControlValueAccessor, OnInit, OnDestroy {
532
+ predicate: boolean;
533
+ filteredModelOptions?: Observable<any>;
534
+ private values;
535
+ readonly autocomplete: _angular_core.Signal<MatAutocomplete>;
536
+ readonly placeholder: _angular_core.InputSignal<string | undefined>;
537
+ readonly data: _angular_core.InputSignal<any[] | null>;
538
+ readonly display: _angular_core.InputSignal<((entry: any) => string) | undefined>;
539
+ readonly filters: _angular_core.InputSignal<IInputSearchFilter[] | null>;
540
+ /**
541
+ * Callback that will be called BEFORE the value is added with the selected value passed as parameter.
542
+ * If this callback returns null, the entry will NOT be added.
543
+ * This lets you update the value before it's added.
544
+ */
545
+ readonly addCallback: _angular_core.InputSignal<((entry: any, subject: Subject<any>) => any | null | void) | null | undefined>;
546
+ private addSubject;
547
+ /**
548
+ * Indicate if the input accepts raw text or if the requires the selection to be made from the search list.
549
+ * This defaults to false.
550
+ * If there are neither data nor display function, this defaults to true.
551
+ */
552
+ readonly acceptText: _angular_core.InputSignal<boolean | null>;
553
+ protected filterIndex: _angular_core.WritableSignal<number>;
554
+ protected overrideShowResults: boolean;
555
+ constructor();
556
+ ngOnInit(): void;
557
+ /**
558
+ * Reset the input's text and sets the value to null as to invalidate the input
559
+ */
560
+ protected reset: () => void;
561
+ /**
562
+ * Set's the input's text's value and set the value to null as to invalidate the input
563
+ * @param input text input
564
+ */
565
+ protected inputChange: (input: string) => void;
566
+ /**
567
+ * Returns the model's textual value using the display function display passed as callback. If there is no display, returns the model's default string value.
568
+ * @param model the data's entry for which we want the textual value
569
+ * */
570
+ protected getModelDisplay: (model: any) => any;
571
+ /**
572
+ * Start filtering the autocomplete's list based on the input's textual value
573
+ */
574
+ protected registerFilters: () => void;
575
+ /**
576
+ * Increments the filter and focus the filtered input. It also sets the value to null as to force the user to choose a filtered value.
577
+ * @param input the input in which the user should type
578
+ */
579
+ protected increment: (input: any) => void;
580
+ protected voidd: () => void;
581
+ protected enableShowPanel: (input: any) => void;
582
+ protected disableShowPanel: () => void;
583
+ protected addFromText: (event: any) => void;
584
+ private _filterModel;
585
+ private _doFilterModelInt;
586
+ private _doFilterModelString;
587
+ private _filterValues;
588
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrSearchSelectComponent, never>;
589
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrSearchSelectComponent, "app-chr-search-select, [app-chr-search-select]", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "display": { "alias": "display"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "addCallback": { "alias": "addCallback"; "required": false; "isSignal": true; }; "acceptText": { "alias": "acceptText"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
590
+ }
591
+
592
+ declare class ChrTagSelectComponent extends ChrBaseInputComponent implements ControlValueAccessor, OnInit, OnDestroy {
593
+ predicate: boolean;
594
+ readonly autocomplete: _angular_core.Signal<MatAutocomplete>;
595
+ protected overrideShowResults: boolean;
596
+ filteredModelOptions?: Observable<any>;
597
+ protected textInputValue: _angular_core.WritableSignal<string>;
598
+ private values;
599
+ readonly placeholder: _angular_core.InputSignal<string | undefined>;
600
+ readonly data: _angular_core.InputSignal<any[] | null>;
601
+ readonly display: _angular_core.InputSignal<((entry: any) => string) | undefined>;
602
+ readonly filters: _angular_core.InputSignal<IInputSearchFilter[] | null>;
603
+ /**
604
+ * Callback that will be called on click of a chips. The entry will be passed as parameter.
605
+ * If this callback returns null, the entry will be removed.
606
+ * If this callback returns a different value (by reference (ex: different object)) the entry will be replaced by the new value.
607
+ */
608
+ readonly editCallback: _angular_core.InputSignal<((entry: any, subject: Subject<any>) => any | null | void) | null | undefined>;
609
+ private editSubject;
610
+ /**
611
+ * Callback that will be called BEFORE the value is added with the selected value passed as parameter.
612
+ * If this callback returns null, the entry will NOT be added.
613
+ * This lets you update the value before it's added.
614
+ */
615
+ readonly addCallback: _angular_core.InputSignal<((entry: any, subject: Subject<any>) => any | null | void) | null | undefined>;
616
+ private addSubject;
617
+ /**
618
+ * Callback that will be called during the removal of the value. This will be called with the deleted value passed as parameter.
619
+ */
620
+ readonly removeCallback: _angular_core.InputSignal<((entry: any) => any | null | void) | null>;
621
+ /**
622
+ * Indicate if the input accepts raw text or if the requires the selection to be made from the search list.
623
+ * This defaults to false.
624
+ * If there are neither data nor display function, this defaults to true.
625
+ */
626
+ readonly acceptText: _angular_core.InputSignal<boolean | null>;
627
+ constructor();
628
+ protected filterIndex: _angular_core.WritableSignal<number>;
629
+ ngOnInit(): void;
630
+ writeValue(obj: any): void;
631
+ protected reset: () => void;
632
+ protected inputChange: (input: string) => void;
633
+ protected getModelDisplay: (model: any) => any;
634
+ protected addFromText: (event: any) => void;
635
+ protected add: (event: any) => void;
636
+ protected edit: (entry: any) => void;
637
+ protected remove(value: any): void;
638
+ protected registerFilters: () => void;
639
+ protected increment: (input: any) => void;
640
+ protected void: () => void;
641
+ protected enableShowPanel: (input: any) => void;
642
+ protected disableShowPanel: () => void;
643
+ protected getTooltip: () => "" | "Appuyez sur 'Enter' pour ajouter la valeur du champs à la liste" | "Entrez un espace pour voir les choix disponibles";
644
+ private _filterModel;
645
+ private _doFilterModelInt;
646
+ private _doFilterModelString;
647
+ private _filterValues;
648
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrTagSelectComponent, never>;
649
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrTagSelectComponent, "app-chr-tag-select, [app-chr-tag-select]", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "display": { "alias": "display"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "editCallback": { "alias": "editCallback"; "required": false; "isSignal": true; }; "addCallback": { "alias": "addCallback"; "required": false; "isSignal": true; }; "removeCallback": { "alias": "removeCallback"; "required": false; "isSignal": true; }; "acceptText": { "alias": "acceptText"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
650
+ }
651
+
652
+ type Alignment = 'left' | 'center' | 'right';
653
+ declare const Aligments: {
654
+ [key: string]: string;
655
+ };
656
+ interface IChips {
657
+ display: string;
658
+ name: string;
659
+ callback: (entry: any) => string | boolean;
660
+ textColor?: Color;
661
+ backgroundColor?: Color;
662
+ }
663
+ interface IColumn {
664
+ display: string;
665
+ alignment?: 'left' | 'center' | 'right';
666
+ chips?: IChips[];
667
+ properties?: string[];
668
+ callback?: Function;
669
+ date?: string;
670
+ isLink?: boolean;
671
+ linkStaticUrl?: string;
672
+ }
673
+ interface IComputedRow {
674
+ columns: IComputedColumn[];
675
+ }
676
+ interface IComputedColumn {
677
+ label?: string;
678
+ value?: any;
679
+ callback?: Function;
680
+ alignment?: 'left' | 'center' | 'right';
681
+ after?: string;
682
+ }
683
+ interface IAction {
684
+ display?: string;
685
+ icon?: string;
686
+ callback: Function;
687
+ disabled?: boolean;
688
+ disabledCallback?: Function;
689
+ color: Color;
690
+ }
691
+ declare class ChrTableComponent implements OnInit, AfterViewInit {
692
+ private _date;
693
+ private dataService;
694
+ private changeDetector;
695
+ readonly computedRows: _angular_core.InputSignal<IComputedRow[] | undefined>;
696
+ readonly columns: _angular_core.InputSignal<IColumn[] | undefined>;
697
+ private _data;
698
+ get data(): any[] | null;
699
+ set data(value: any[] | null);
700
+ readonly actions: _angular_core.InputSignal<IAction[]>;
701
+ readonly isAsc: _angular_core.InputSignal<boolean>;
702
+ readonly isAscChange: _angular_core.OutputEmitterRef<boolean>;
703
+ readonly sortBy: _angular_core.InputSignal<string[] | undefined>;
704
+ readonly sortByChange: _angular_core.OutputEmitterRef<string[]>;
705
+ readonly pageSize: _angular_core.InputSignal<number>;
706
+ readonly pageSizeChange: _angular_core.OutputEmitterRef<number>;
707
+ readonly currentPage: _angular_core.InputSignal<number>;
708
+ readonly currentPageChange: _angular_core.OutputEmitterRef<number>;
709
+ readonly selectable: _angular_core.InputSignal<boolean>;
710
+ readonly selection: _angular_core.InputSignal<any[]>;
711
+ readonly selectionChange: _angular_core.OutputEmitterRef<any[]>;
712
+ readonly id: _angular_core.InputSignal<string | undefined>;
713
+ readonly color: _angular_core.InputSignal<Color>;
714
+ readonly textColor: _angular_core.InputSignal<Color>;
715
+ private _page;
716
+ currentProperty: any | null;
717
+ currentText: string | null;
718
+ ngOnInit(): void;
719
+ ngAfterViewInit(): void;
720
+ protected emitIsAsc(isAsc: any): void;
721
+ protected emitSortBy(sortBy: any): void;
722
+ protected emitPageSize(pageSize: any): void;
723
+ protected emitCurrentPage(currentPage: any): void;
724
+ protected getProperty: (entry: any, properties?: any[]) => any;
725
+ protected getText: (property: any, column: IColumn) => any;
726
+ protected select: (entry: any, event: MouseEvent) => void;
727
+ getSelection: () => any[];
728
+ setSelection: (data: any[]) => void;
729
+ protected contains: (entry: any) => boolean;
730
+ protected getIsAsc: () => boolean;
731
+ protected getSortBy: () => string[] | undefined;
732
+ protected getTextColor: (color?: Color) => string;
733
+ protected getBackgroundColor: (color?: Color) => string;
734
+ protected getContrastTextColor: (color?: Color) => string;
735
+ protected getBorderColor: (color?: Color) => string;
736
+ protected getAlignment: (alignment?: Alignment) => string;
737
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrTableComponent, never>;
738
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrTableComponent, "app-chr-table, [app-chr-table]", never, { "computedRows": { "alias": "computedRows"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "isAsc": { "alias": "isAsc"; "required": false; "isSignal": true; }; "sortBy": { "alias": "sortBy"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "currentPage": { "alias": "currentPage"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "textColor": { "alias": "textColor"; "required": false; "isSignal": true; }; }, { "isAscChange": "isAscChange"; "sortByChange": "sortByChange"; "pageSizeChange": "pageSizeChange"; "currentPageChange": "currentPageChange"; "selectionChange": "selectionChange"; }, never, ["*"], true, never>;
739
+ }
740
+
741
+ type TColumn = {
742
+ /**
743
+ * Nom de la colonne
744
+ */
745
+ display: string;
746
+ /**
747
+ * Sélecteur qui représente la propriété ciblée. Ex: 'obj.id'.
748
+ */
749
+ properties?: string;
750
+ /**
751
+ * Méthode callback qui sera appelée avec la valeur de la propriété cible.
752
+ * Elle est utilisée pour apporter un traitement personnalisé à la valeur.
753
+ * @param value valeur de la propriété cible
754
+ * @returns
755
+ */
756
+ callback?: (value: any | null | undefined) => string;
757
+ /**
758
+ * Type de la colonne: lien, chips, input, date, default
759
+ */
760
+ type?: TColumnType;
761
+ /**
762
+ * Format de la date pour les colonnes de type date
763
+ */
764
+ format?: string;
765
+ /**
766
+ * Url de base pour les colonnes de type lien
767
+ */
768
+ url?: string;
769
+ /**
770
+ * Type d'input pour les colonnes de type input
771
+ */
772
+ inputType?: 'text' | 'number' | 'password' | 'date' | 'datetime' | 'file' | 'color' | 'toggle';
773
+ /**
774
+ * Règles de validations pour les colonnes de type input
775
+ */
776
+ validations?: IControlValidation[];
777
+ /**
778
+ * Chips disponibles pour les colonnes de type chips
779
+ */
780
+ chips?: {
781
+ [key: string]: IChip;
782
+ };
783
+ /**
784
+ * Méthode callback qui sera avec la valeur de la propriété cible.
785
+ * Elle est utilisée comme clef pour sélectionner quel chips afficher
786
+ * @param entry
787
+ * @returns
788
+ */
789
+ chipsCallback?: (entry: any) => string;
790
+ };
791
+ interface IChip {
792
+ /**
793
+ * Le text qui sera affiché dans le chips
794
+ */
795
+ display: string;
796
+ /**
797
+ * La couleur du background du chips
798
+ */
799
+ color: Color;
800
+ }
801
+ type TColumnType = 'link' | 'chips' | 'input' | 'date' | 'default';
802
+ declare class ChrDataTable {
803
+ private dataService;
804
+ private changeDetector;
805
+ /**
806
+ * Data to display.
807
+ * @see If it's piped with | Async, please note that the input column may not work as expected
808
+ */
809
+ data: _angular_core.InputSignal<any[]>;
810
+ /**
811
+ * Whether or not the table will show a column with a checkbox to select entries. Default is false
812
+ */
813
+ readonly selectable: _angular_core.InputSignal<boolean>;
814
+ /**
815
+ * The selected entries
816
+ */
817
+ readonly selection: _angular_core.ModelSignal<any[]>;
818
+ /**
819
+ * The table's action column definition
820
+ */
821
+ readonly actions: _angular_core.InputSignal<IAction[] | undefined>;
822
+ /**
823
+ * Wheter or not the current sort is ascendant. Default is true
824
+ */
825
+ readonly isAsc: _angular_core.ModelSignal<boolean>;
826
+ /**
827
+ * The property by which the data will be sorted
828
+ */
829
+ readonly sortBy: _angular_core.ModelSignal<string | undefined>;
830
+ /**
831
+ * The page size for the table. Default is 20
832
+ */
833
+ readonly pageSize: _angular_core.ModelSignal<number>;
834
+ /**
835
+ * The current page of the table. Default is 1
836
+ */
837
+ readonly currentPage: _angular_core.ModelSignal<number>;
838
+ /**
839
+ * The ID of the table. It's used to persist page size and currentpage when the user change pages
840
+ */
841
+ readonly id: _angular_core.InputSignal<string | undefined>;
842
+ /**
843
+ * The color to use for the table's header
844
+ */
845
+ readonly color: _angular_core.InputSignal<Color | undefined>;
846
+ /**
847
+ * The table's columns definitions
848
+ */
849
+ readonly columns: _angular_core.InputSignal<TColumn[]>;
850
+ ngOnInit(): void;
851
+ protected emitIsAsc(isAsc: any): void;
852
+ protected emitSortBy(sortBy: any): void;
853
+ protected emitPageSize(pageSize: any): void;
854
+ protected emitCurrentPage(currentPage: any): void;
855
+ protected getNestedProperty(obj: any, path?: string): any;
856
+ protected select: (entry: any | any[], event: MouseEvent) => void;
857
+ getSelection: () => any[];
858
+ setSelection: (data: any[]) => void;
859
+ protected contains: (entry: any) => boolean;
860
+ updateModel: (entry: any, properties: string, value: {
861
+ key: any;
862
+ }) => void;
863
+ protected getTextColor: (color?: Color) => string;
864
+ protected getBackgroundColor: (color?: Color) => string;
865
+ protected getContrastTextColor: (color?: Color) => string;
866
+ protected getBorderColor: (color?: Color) => string;
867
+ protected sort: (properties?: string) => void;
868
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrDataTable, never>;
869
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrDataTable, "chr-table", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "isAsc": { "alias": "isAsc"; "required": false; "isSignal": true; }; "sortBy": { "alias": "sortBy"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "currentPage": { "alias": "currentPage"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; }, { "selection": "selectionChange"; "isAsc": "isAscChange"; "sortBy": "sortByChange"; "pageSize": "pageSizeChange"; "currentPage": "currentPageChange"; }, never, never, true, never>;
870
+ }
871
+
872
+ declare class ChrNiceFileInputComponent extends ChrFileInputComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnDestroy {
873
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrNiceFileInputComponent, never>;
874
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrNiceFileInputComponent, "chr-nice-file-input", never, {}, {}, never, never, true, never>;
875
+ }
876
+
877
+ declare class ChrSearchbarComponent {
878
+ readonly model: _angular_core.InputSignal<string | null | undefined>;
879
+ readonly modelChange: _angular_core.OutputEmitterRef<string>;
880
+ readonly placeholder: _angular_core.InputSignal<string | null | undefined>;
881
+ readonly label: _angular_core.InputSignal<string | null | undefined>;
882
+ searchBy: FormControl<string | null>;
883
+ constructor();
884
+ emit(event: any): void;
885
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrSearchbarComponent, never>;
886
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrSearchbarComponent, "app-chr-searchbar", never, { "model": { "alias": "model"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "modelChange": "modelChange"; }, never, never, true, never>;
887
+ }
888
+
889
+ declare class ChrPaginatorComponent implements OnInit, AfterViewInit, AfterContentChecked {
890
+ service: PaginationService;
891
+ private cookieService;
892
+ private dataService;
893
+ private changeDetector;
894
+ page: _angular_core.InputSignal<number>;
895
+ pageChange: _angular_core.OutputEmitterRef<number>;
896
+ pageSize: _angular_core.InputSignal<number>;
897
+ pageSizeChange: _angular_core.OutputEmitterRef<number>;
898
+ instance?: PaginationInstance;
899
+ dataSize: _angular_core.Signal<number>;
900
+ currentlyShownSize: _angular_core.Signal<number>;
901
+ readonly id: _angular_core.InputSignal<string | undefined>;
902
+ readonly allowSizeChange: _angular_core.InputSignal<string | boolean>;
903
+ readonly pageSizeForm: _angular_core.Signal<ChrFormComponent | null | undefined>;
904
+ ngAfterContentChecked(): void;
905
+ ngOnInit(): void;
906
+ ngAfterViewInit(): void;
907
+ previous: () => void;
908
+ next: () => void;
909
+ setPage: (page: number) => void;
910
+ setPageEventHandler: (event: any) => void;
911
+ isFirstPage: () => boolean;
912
+ setPageSize: (pageSize: number) => void;
913
+ setPageSizeEventHandler: (event: any) => void;
914
+ isLastPage: () => boolean;
915
+ lastPage: () => number;
916
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrPaginatorComponent, never>;
917
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrPaginatorComponent, "app-chr-paginator", never, { "page": { "alias": "page"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "allowSizeChange": { "alias": "allowSizeChange"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; "pageSizeChange": "pageSizeChange"; }, never, never, true, never>;
918
+ }
919
+
1
920
  /**
2
- * Generated bundle index. Do not edit.
921
+ * This should only be used as a directive
3
922
  */
4
- /// <amd-module name="chrv-components" />
5
- export * from './public-api';
923
+ declare class ChrTableHeaderCellComponent {
924
+ private changeDetector;
925
+ readonly display: _angular_core.InputSignal<string | undefined>;
926
+ readonly column: _angular_core.InputSignal<string[] | undefined>;
927
+ readonly alignment: _angular_core.InputSignal<string | undefined>;
928
+ readonly isAsc: _angular_core.InputSignal<boolean>;
929
+ readonly isAscChange: _angular_core.OutputEmitterRef<boolean>;
930
+ readonly sortBy: _angular_core.InputSignal<string[] | undefined>;
931
+ readonly sortByChange: _angular_core.OutputEmitterRef<string[]>;
932
+ orderBy: (column?: string[]) => void;
933
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrTableHeaderCellComponent, never>;
934
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrTableHeaderCellComponent, "app-chr-table-header-cell, [app-chr-table-header-cell]", never, { "display": { "alias": "display"; "required": false; "isSignal": true; }; "column": { "alias": "column"; "required": false; "isSignal": true; }; "alignment": { "alias": "alignment"; "required": false; "isSignal": true; }; "isAsc": { "alias": "isAsc"; "required": false; "isSignal": true; }; "sortBy": { "alias": "sortBy"; "required": false; "isSignal": true; }; }, { "isAscChange": "isAscChange"; "sortByChange": "sortByChange"; }, never, ["*"], true, never>;
935
+ }
936
+
937
+ declare class ChrCheckboxComponent {
938
+ checked: boolean;
939
+ readonly type: _angular_core.InputSignal<"success" | "info">;
940
+ readonly disabled: _angular_core.InputSignal<boolean>;
941
+ readonly change: _angular_core.OutputEmitterRef<{
942
+ checked: boolean;
943
+ }>;
944
+ check(end: boolean): void;
945
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrCheckboxComponent, never>;
946
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrCheckboxComponent, "app-chr-checkbox", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "change": "change"; }, never, never, true, never>;
947
+ }
948
+
949
+ declare class ChrSeparatorComponent {
950
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrSeparatorComponent, never>;
951
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrSeparatorComponent, "app-chr-separator", never, {}, {}, never, never, true, never>;
952
+ }
953
+
954
+ declare class DecimalValidatorDirective implements Validator {
955
+ readonly amount: _angular_core.InputSignal<number | undefined>;
956
+ validate(control: AbstractControl): ValidationErrors | null;
957
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DecimalValidatorDirective, never>;
958
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DecimalValidatorDirective, "[app-decimal]", never, { "amount": { "alias": "amount"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
959
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<DecimalValidatorDirective>;
960
+ }
961
+ declare function decimal(amount: number): ValidatorFn;
962
+
963
+ declare class MaxDateValidatorDirective implements Validator {
964
+ readonly date: _angular_core.InputSignal<Date | undefined>;
965
+ validate(control: AbstractControl): ValidationErrors | null;
966
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MaxDateValidatorDirective, never>;
967
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MaxDateValidatorDirective, "[app-max-date]", never, { "date": { "alias": "date"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
968
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<MaxDateValidatorDirective>;
969
+ }
970
+ declare function maxDate(date: Date): ValidatorFn;
971
+
972
+ declare class TypeValidatorDirective implements Validator {
973
+ readonly type: _angular_core.InputSignal<string | undefined>;
974
+ validate(control: AbstractControl): ValidationErrors | null;
975
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TypeValidatorDirective, never>;
976
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TypeValidatorDirective, "[app-type]", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
977
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<TypeValidatorDirective>;
978
+ }
979
+ declare function type(type: string): ValidatorFn;
980
+
981
+ interface ILiveUpdateMessage {
982
+ status: LiveUpdateStatus;
983
+ message?: string | null;
984
+ }
985
+ declare enum LiveUpdateStatus {
986
+ Info = 0,
987
+ Warning = 1,
988
+ Error = 2,
989
+ End = 3
990
+ }
991
+ declare const DEFAULTLIVEUPDATEMESSAGE: ILiveUpdateMessage;
992
+ declare const DefaultLiveUpdateMessage: ILiveUpdateMessage;
993
+
994
+ declare class LoaderService {
995
+ private is_loading;
996
+ private is_loading$;
997
+ private requestStatckSize;
998
+ constructor();
999
+ setLoading: (is: boolean) => void;
1000
+ isLoading: () => boolean;
1001
+ isLoadingAsync: () => rxjs.Observable<boolean>;
1002
+ getStackSize: () => number;
1003
+ incrementStackSize: () => number;
1004
+ decrementStackSize: () => number;
1005
+ setStackSize: (value: number) => number;
1006
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoaderService, never>;
1007
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<LoaderService>;
1008
+ }
1009
+
1010
+ declare class LiveUpdateService {
1011
+ private dataService;
1012
+ private _hubUrl;
1013
+ private _connection;
1014
+ private _xsrf;
1015
+ private _xsrfHeader;
1016
+ private _message;
1017
+ private _update;
1018
+ constructor();
1019
+ initConnection: () => Observable<void>;
1020
+ onUpdate(): Observable<string>;
1021
+ closeConnection(): Observable<void>;
1022
+ getMessage(): Observable<ILiveUpdateMessage>;
1023
+ getHubUrl: () => string | null;
1024
+ private pushMessage;
1025
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LiveUpdateService, never>;
1026
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<LiveUpdateService>;
1027
+ }
1028
+
1029
+ declare class ChrSpinnerComponent implements OnInit {
1030
+ loader: LoaderService;
1031
+ liveUpdate: LiveUpdateService;
1032
+ private changeDetector;
1033
+ message: ILiveUpdateMessage;
1034
+ ngOnInit(): void;
1035
+ display: (message: ILiveUpdateMessage | null) => string | null | undefined;
1036
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrSpinnerComponent, never>;
1037
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrSpinnerComponent, "app-chr-spinner", never, {}, {}, never, never, true, never>;
1038
+ }
1039
+
1040
+ interface Toast {
1041
+ type: "error" | "success" | "warning";
1042
+ message: string;
1043
+ duration?: number;
1044
+ }
1045
+ declare class ToastService {
1046
+ private toastQueue;
1047
+ private currentToastSubject;
1048
+ currentToast$: Observable<Toast | null>;
1049
+ private toastCloseSubject;
1050
+ private default_duration;
1051
+ constructor();
1052
+ current: () => Observable<Toast | null>;
1053
+ next: () => void;
1054
+ setSuccess(message?: string, time?: number): void;
1055
+ setError(message: string, time?: number): void;
1056
+ setWarning(message: string, time?: number): void;
1057
+ private set;
1058
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToastService, never>;
1059
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ToastService>;
1060
+ }
1061
+
1062
+ declare class ChrToastComponent {
1063
+ toastService: ToastService;
1064
+ readonly topmargin: _angular_core.InputSignal<string>;
1065
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrToastComponent, never>;
1066
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrToastComponent, "app-chr-toast", never, { "topmargin": { "alias": "topmargin"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1067
+ }
1068
+
1069
+ interface IDefaultDialogConfig extends MatDialogConfig<any> {
1070
+ config?: MatDialogConfig<any>;
1071
+ title: string;
1072
+ text: string;
1073
+ close?: string;
1074
+ actions?: IAction[];
1075
+ }
1076
+ interface DialogConfig {
1077
+ _config: {
1078
+ title: string;
1079
+ text: string;
1080
+ close: string;
1081
+ actions: IAction[];
1082
+ };
1083
+ }
1084
+ declare class ChrDefaultModalComponent {
1085
+ dialogRef: MatDialogRef<ChrDefaultModalComponent, any>;
1086
+ config: DialogConfig;
1087
+ private sanitizer;
1088
+ valid: boolean;
1089
+ readonly title: _angular_core.InputSignal<string | undefined>;
1090
+ readonly text: _angular_core.InputSignal<string | undefined>;
1091
+ readonly actions: _angular_core.InputSignal<IAction[] | undefined>;
1092
+ readonly close: _angular_core.InputSignal<string | undefined>;
1093
+ protected html: SafeHtml | null;
1094
+ constructor();
1095
+ ngOnInit(): void;
1096
+ closeModal: (callback?: Function) => void;
1097
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrDefaultModalComponent, never>;
1098
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrDefaultModalComponent, "app-chr-default-modal", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "close": { "alias": "close"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1099
+ }
1100
+
1101
+ declare class ChrModalComponent {
1102
+ dynamicContent: ViewContainerRef;
1103
+ /**
1104
+ * Indique si le modal est ouvert ou fermé.
1105
+ * @default false
1106
+ */
1107
+ isOpen: _angular_core.InputSignal<boolean>;
1108
+ /**
1109
+ * Indique si le modal doit se fermer lorsque l'utilisateur clique sur le fond.
1110
+ * @default true
1111
+ */
1112
+ closeOnBackdropClick: _angular_core.InputSignal<boolean>;
1113
+ /**
1114
+ * Indique si le modal doit se fermer lorsque l'utilisateur appuie sur la touche Échap.
1115
+ * @default true
1116
+ */
1117
+ closeOnEscape: _angular_core.InputSignal<boolean>;
1118
+ /**
1119
+ * Événement émis lorsque le modal doit être fermé.
1120
+ * @default undefined
1121
+ */
1122
+ close: _angular_core.OutputEmitterRef<any>;
1123
+ /**
1124
+ * Largeur du modal en pourcentage de la largeur de la fenêtre.
1125
+ * @default 50
1126
+ */
1127
+ width: _angular_core.InputSignal<number | undefined>;
1128
+ /**
1129
+ * Hauteur du modal en pourcentage de la hauteur de la fenêtre.
1130
+ * @default 50
1131
+ */
1132
+ height: _angular_core.InputSignal<number | undefined>;
1133
+ getDynamicContentContainer(): ViewContainerRef;
1134
+ onBackdropClick(): void;
1135
+ onModalClick(event: Event): void;
1136
+ onEscapeKey(event: KeyboardEvent): void;
1137
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrModalComponent, never>;
1138
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrModalComponent, "chr-modal", never, { "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; }, { "close": "close"; }, never, never, true, never>;
1139
+ }
1140
+
1141
+ declare class InlineSvgComponent implements OnInit {
1142
+ private http;
1143
+ private sanitizer;
1144
+ private el;
1145
+ src: _angular_core.InputSignal<string | undefined>;
1146
+ class: _angular_core.InputSignal<string | undefined>;
1147
+ svgContent: _angular_core.WritableSignal<string>;
1148
+ height: _angular_core.InputSignalWithTransform<string, string | number>;
1149
+ width: _angular_core.InputSignalWithTransform<string, string | number>;
1150
+ constructor(http: HttpClient, sanitizer: DomSanitizer, el: ElementRef);
1151
+ ngOnInit(): void;
1152
+ transformWidth(value: number | string): string;
1153
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<InlineSvgComponent, never>;
1154
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<InlineSvgComponent, "chr-inline-svg", never, { "src": { "alias": "src"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1155
+ }
1156
+
1157
+ declare class TabComponent {
1158
+ label: _angular_core.InputSignal<string>;
1159
+ active: _angular_core.WritableSignal<boolean>;
1160
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabComponent, never>;
1161
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabComponent, "chr-tab", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1162
+ }
1163
+
1164
+ declare class TabGroupComponent {
1165
+ tabs: QueryList<TabComponent>;
1166
+ protected selectedIndex: _angular_core.WritableSignal<number>;
1167
+ color: _angular_core.InputSignal<"primary" | "secondary" | "tertiary" | undefined>;
1168
+ fade: _angular_core.InputSignal<boolean>;
1169
+ ngAfterContentInit(): void;
1170
+ selectTab: (index: number) => void;
1171
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabGroupComponent, never>;
1172
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabGroupComponent, "chr-tab-group", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "fade": { "alias": "fade"; "required": false; "isSignal": true; }; }, {}, ["tabs"], ["chr-tab"], true, never>;
1173
+ }
1174
+
1175
+ declare class CarouselComponent implements AfterContentInit, AfterViewInit {
1176
+ private platformId;
1177
+ containerRef: ElementRef;
1178
+ onResize(): void;
1179
+ protected initialized: BehaviorSubject<boolean>;
1180
+ protected resizeEvent: BehaviorSubject<void>;
1181
+ protected resize: Observable<void>;
1182
+ protected items: _angular_core.WritableSignal<HTMLElement[]>;
1183
+ protected pages: _angular_core.WritableSignal<number>;
1184
+ /**
1185
+ * Whether the selectors should be stacked on top of the carousel body.
1186
+ * Defaults to true.
1187
+ */
1188
+ stackSelectors: _angular_core.InputSignal<boolean>;
1189
+ /**
1190
+ * Whether the buttons should be stacked on top of the carousel body.
1191
+ * Defaults to true.
1192
+ */
1193
+ stackButtons: _angular_core.InputSignal<boolean>;
1194
+ /**
1195
+ * Whether the carousel should display only one item per page or be dynamic.
1196
+ * If set to true, the carousel will always show one item per page.
1197
+ */
1198
+ singleItemPerPage: _angular_core.InputSignal<boolean>;
1199
+ currentIndex: _angular_core.WritableSignal<number>;
1200
+ /**
1201
+ * Whether to show the selectors.
1202
+ * Defaults to 'Roboto, sans-serif'.
1203
+ */
1204
+ showSelectors: _angular_core.InputSignal<boolean>;
1205
+ /**
1206
+ * Whether to show the next and previous buttons.
1207
+ * Defaults to true.
1208
+ */
1209
+ showButtons: _angular_core.InputSignal<boolean>;
1210
+ /**
1211
+ * An output event that emits when the user clicks the next button.
1212
+ */
1213
+ onNext: _angular_core.OutputEmitterRef<number>;
1214
+ /**
1215
+ * An output event that emits when the user clicks the previous button.
1216
+ */
1217
+ onPrevious: _angular_core.OutputEmitterRef<number>;
1218
+ /**
1219
+ * An output event that emits when the user selects a slide with the selector.
1220
+ */
1221
+ onChange: _angular_core.OutputEmitterRef<number>;
1222
+ /**
1223
+ * An observable that emits a value every `timer` seconds.
1224
+ * This is used to automatically advance the carousel.
1225
+ */
1226
+ interval: Observable<number> | null;
1227
+ constructor(platformId: Object);
1228
+ /**
1229
+ * The time in seconds before the next slide is shown.
1230
+ * If set to 0, the carousel will not auto-advance.
1231
+ */
1232
+ timer: _angular_core.InputSignal<number>;
1233
+ ngAfterContentInit(): void;
1234
+ ngAfterViewInit(): void;
1235
+ next: (emit?: boolean) => void;
1236
+ prev: () => void;
1237
+ select: (index: number) => void;
1238
+ updatePages: () => void;
1239
+ arrayFrom: (length: number) => number[];
1240
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CarouselComponent, never>;
1241
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CarouselComponent, "chr-carousel", never, { "stackSelectors": { "alias": "stackSelectors"; "required": false; "isSignal": true; }; "stackButtons": { "alias": "stackButtons"; "required": false; "isSignal": true; }; "singleItemPerPage": { "alias": "singleItemPerPage"; "required": false; "isSignal": true; }; "showSelectors": { "alias": "showSelectors"; "required": false; "isSignal": true; }; "showButtons": { "alias": "showButtons"; "required": false; "isSignal": true; }; "timer": { "alias": "timer"; "required": false; "isSignal": true; }; }, { "onNext": "onNext"; "onPrevious": "onPrevious"; "onChange": "onChange"; }, never, ["*"], true, never>;
1242
+ }
1243
+
1244
+ declare class ButtonComponent {
1245
+ /**
1246
+ * The color of the button.
1247
+ */
1248
+ color: _angular_core.InputSignal<"primary" | "secondary" | "tertiary">;
1249
+ /**
1250
+ * Whether the button is disabled.
1251
+ */
1252
+ disabled: _angular_core.InputSignal<boolean>;
1253
+ /**
1254
+ * The text to display on the button.
1255
+ */
1256
+ text: _angular_core.InputSignal<string | null>;
1257
+ alt: _angular_core.InputSignal<string | undefined>;
1258
+ /**
1259
+ * The icon to display on the button.
1260
+ */
1261
+ icon: _angular_core.InputSignal<string | undefined>;
1262
+ /**
1263
+ * The direction of the button.
1264
+ */
1265
+ direction: _angular_core.InputSignal<"left" | "right">;
1266
+ /**
1267
+ * Whether the button is rounded.
1268
+ */
1269
+ rounded: _angular_core.InputSignal<boolean>;
1270
+ /**
1271
+ * The size of the icon.
1272
+ */
1273
+ size: _angular_core.InputSignal<"small" | "medium" | "large">;
1274
+ routerLink: _angular_core.InputSignal<string | any[] | UrlTree | null>;
1275
+ routerLinkActive: _angular_core.InputSignal<string | string[]>;
1276
+ getWidth(): string;
1277
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonComponent, never>;
1278
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "chr-button", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "routerLinkActive": { "alias": "routerLinkActive"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1279
+ }
1280
+
1281
+ declare class TabToInputHandlerDirective {
1282
+ private el;
1283
+ handleTab(event: KeyboardEvent): void;
1284
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabToInputHandlerDirective, never>;
1285
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TabToInputHandlerDirective, "[tab-input-only]", never, {}, {}, never, never, true, never>;
1286
+ }
1287
+
1288
+ declare class TabToEnterHandlerDirective {
1289
+ private el;
1290
+ handleTab(event: KeyboardEvent): void;
1291
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabToEnterHandlerDirective, never>;
1292
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TabToEnterHandlerDirective, "[tab-enter]", never, {}, {}, never, never, true, never>;
1293
+ }
1294
+
1295
+ declare class AutofocusDirective {
1296
+ private host;
1297
+ readonly chrAutofocus: _angular_core.InputSignal<boolean | "" | null | undefined>;
1298
+ ngAfterViewInit(): void;
1299
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AutofocusDirective, never>;
1300
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AutofocusDirective, "[chrAutofocus]", never, { "chrAutofocus": { "alias": "chrAutofocus"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1301
+ }
1302
+
1303
+ declare const inOutAnimation: (duration?: number) => _angular_animations.AnimationTriggerMetadata;
1304
+
1305
+ declare const rotationAnimation: (initialAngle?: number, endAngle?: number, duration?: number) => _angular_animations.AnimationTriggerMetadata;
1306
+
1307
+ declare class DialogService {
1308
+ private dialog;
1309
+ openDelete: (callback?: Function, ...elements: Parameters<any>) => void;
1310
+ openDefault: (config?: IDefaultDialogConfig) => void;
1311
+ open: (component: any, options?: MatDialogConfig<any>) => MatDialogRef<any, any>;
1312
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DialogService, never>;
1313
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<DialogService>;
1314
+ }
1315
+
1316
+ interface ModalOptions {
1317
+ closeOnBackdropClick?: boolean;
1318
+ closeOnEscape?: boolean;
1319
+ width?: number;
1320
+ height?: number;
1321
+ data?: any;
1322
+ }
1323
+ declare const CHR_MODAL_DATA: InjectionToken<any>;
1324
+ declare const CHR_MODAL_REF: InjectionToken<ModalRef<any>>;
1325
+ interface ModalData {
1326
+ [key: string]: any;
1327
+ }
1328
+ interface ModalRef<T = any> {
1329
+ componentInstance: T;
1330
+ close: (result?: any) => void;
1331
+ afterClosed: () => Observable<any>;
1332
+ }
1333
+
1334
+ declare class ModalService {
1335
+ private dialog;
1336
+ private appRef;
1337
+ private environmentInjector;
1338
+ private activeModals;
1339
+ open<T>(component: Type<T>, options?: ModalOptions): ModalRef<ChrModalComponent>;
1340
+ closeAll(): void;
1341
+ private closeModal;
1342
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModalService, never>;
1343
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ModalService>;
1344
+ }
1345
+
1346
+ declare class DataService {
1347
+ private platformId;
1348
+ private data;
1349
+ private persistData;
1350
+ private syncData;
1351
+ constructor();
1352
+ set: (key: string, value: any, persist?: boolean) => void;
1353
+ get: (key: string) => Observable<any>;
1354
+ getSync: (key: string) => any;
1355
+ clear: (key: string) => void;
1356
+ remove: (key: string) => boolean;
1357
+ private persist;
1358
+ private load;
1359
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataService, never>;
1360
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<DataService>;
1361
+ }
1362
+
1363
+ declare class CookiesService {
1364
+ constructor();
1365
+ /**
1366
+ * delete cookie
1367
+ * @param name
1368
+ */
1369
+ deleteCookie(name: string): void;
1370
+ /**
1371
+ * get cookie
1372
+ * @param {string} name
1373
+ * @returns {string}
1374
+ */
1375
+ getCookie(name: string): string;
1376
+ /**
1377
+ * set cookie
1378
+ * @param {string} name
1379
+ * @param {string} value
1380
+ * @param {number} expireDays
1381
+ * @param {string} path
1382
+ */
1383
+ setCookie(name: string, value: string, expireDays: number, path?: string): void;
1384
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CookiesService, never>;
1385
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<CookiesService>;
1386
+ }
1387
+
1388
+ declare class FileService {
1389
+ constructor();
1390
+ fileToBase64: (file: File) => Observable<IFile>;
1391
+ toBase64: (file: IFile) => Observable<IFile>;
1392
+ toBase64WithProgress: (file: IFile) => Observable<{
1393
+ progress: number;
1394
+ file?: IFile;
1395
+ }>;
1396
+ batchToBase64: (files: IFile[]) => Observable<IFile[]>;
1397
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileService, never>;
1398
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<FileService>;
1399
+ }
1400
+
1401
+ declare const SpinnerInterceptor: HttpInterceptorFn;
1402
+
1403
+ declare const XsrfInterceptor: HttpInterceptorFn;
1404
+ declare const WaitAndStoreXsrfToken: (headername: string, dataService: DataService) => (source: Observable<HttpEvent<any>>) => Observable<HttpEvent<any>>;
1405
+
1406
+ interface IXsrfProviderParams {
1407
+ xsrfHeader: string;
1408
+ xsrfCookie?: string;
1409
+ hubUrl?: string;
1410
+ interceptors?: HttpInterceptorFn[];
1411
+ features?: HttpFeature<any>[];
1412
+ }
1413
+ declare const provideXsrfHttpClient: (params: IXsrfProviderParams) => any[];
1414
+ declare const XSRFHEADERNAME: InjectionToken<string>;
1415
+ declare const XSRFCOOKIENAME: InjectionToken<string>;
1416
+ declare const HUBURL: InjectionToken<string>;
1417
+
1418
+ export { Aligments, AutofocusDirective, BreadcrumbComponent, ButtonComponent, CHR_MODAL_DATA, CHR_MODAL_REF, CarouselComponent, ChrBaseInputComponent, ChrButtonComponent, ChrCheckboxComponent, ChrColorInputComponent, ChrDataTable, ChrDateInputComponent, ChrDatetimeInputComponent, ChrDefaultModalComponent, ChrDeleteModalComponent, ChrFileInputComponent, ChrFormComponent, ChrModalComponent, ChrNiceFileInputComponent, ChrPaginatorComponent, ChrSearchSelectComponent, ChrSearchbarComponent, ChrSeparatorComponent, ChrSpinnerComponent, ChrTableComponent, ChrTableHeaderCellComponent, ChrTagSelectComponent, ChrTextareaInputComponent, ChrToastComponent, ChrToggleInputComponent, Colors, CookiesService, DEFAULTLIVEUPDATEMESSAGE, DataService, DecimalValidatorDirective, DefaultLiveUpdateMessage, DialogService, FileService, HUBURL, InlineSvgComponent, LiveUpdateService, LiveUpdateStatus, LoaderService, MaxDateValidatorDirective, ModalService, SpinnerInterceptor, SyncValidatorToAsync, TabComponent, TabGroupComponent, TabToEnterHandlerDirective, TabToInputHandlerDirective, ToastService, TypeValidatorDirective, WaitAndStoreXsrfToken, XSRFCOOKIENAME, XSRFHEADERNAME, XsrfInterceptor, decimal, getAsyncValidators, getBackgroundColor, getBorderColor, getContrastBackgroundColor, getContrastBorderColor, getContrastTextColor, getSyncValidators, getTextColor, getValidators, inOutAnimation, maxDate, provideXsrfHttpClient, rotationAnimation, type };
1419
+ export type { Alignment, Breadcrumb, Color, IAction, IChip, IChips, IColumn, IComputedColumn, IComputedRow, IControlValidation, IDefaultDialogConfig, IFormSection, IInputSearchFilter, ILiveUpdateMessage, IXsrfProviderParams, ModalData, ModalOptions, ModalRef, TColumn, TColumnType, Toast };