chrv-components 1.12.215 → 1.12.217

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chrv-components",
3
- "version": "1.12.215",
3
+ "version": "1.12.217",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=22.0.0",
6
6
  "@angular/core": ">=22.0.0",
@@ -53,12 +53,12 @@ declare class ChrButtonLegacyComponent {
53
53
  readonly textColor: _angular_core.InputSignal<Color | undefined>;
54
54
  readonly flat: _angular_core.InputSignal<boolean>;
55
55
  readonly predicate: _angular_core.InputSignal<boolean | undefined>;
56
- readonly type: _angular_core.InputSignal<"none" | "responsive" | "table" | "full" | "fixed" | "small">;
56
+ readonly type: _angular_core.InputSignal<"small" | "table" | "none" | "responsive" | "full" | "fixed">;
57
57
  readonly href: _angular_core.InputSignal<string | undefined>;
58
58
  readonly target: _angular_core.InputSignal<"_blank" | "_parent" | "_self" | "_top" | undefined>;
59
59
  readonly disabled: _angular_core.InputSignal<boolean>;
60
60
  readonly tooltip: _angular_core.InputSignal<string | undefined>;
61
- readonly tooltipPosition: _angular_core.InputSignal<"left" | "right" | "above" | "below" | undefined>;
61
+ readonly tooltipPosition: _angular_core.InputSignal<"above" | "below" | "left" | "right" | undefined>;
62
62
  constructor();
63
63
  doClick: () => void;
64
64
  getBackgroundColor: (color: Color) => string;
@@ -1258,9 +1258,9 @@ declare class ChrInputComponent implements ControlValueAccessor, OnInit {
1258
1258
  /**
1259
1259
  * Position of the tooltip relative to the input
1260
1260
  */
1261
- readonly tooltipPosition: _angular_core.InputSignal<"top" | "bottom" | "left" | "right">;
1261
+ readonly tooltipPosition: _angular_core.InputSignal<"left" | "right" | "top" | "bottom">;
1262
1262
  readonly required: _angular_core.ModelSignal<boolean>;
1263
- readonly state: _angular_core.ModelSignal<"VALID" | "INVALID" | "WARNING" | "DISABLED" | "PENDING" | "IDLE">;
1263
+ readonly state: _angular_core.ModelSignal<"VALID" | "INVALID" | "PENDING" | "DISABLED" | "WARNING" | "IDLE">;
1264
1264
  readonly errors: _angular_core.InputSignal<ValidationErrors | null | undefined>;
1265
1265
  readonly valid: _angular_core.Signal<void>;
1266
1266
  private readonly _elementRef;
@@ -1317,82 +1317,66 @@ interface FileEntry {
1317
1317
  error?: string;
1318
1318
  }
1319
1319
  /**
1320
- * Custom File Input. Support multiple files, base64 encoding and per-file validation.
1321
- * Disclaimer: this is an AI created input.
1320
+ * Custom file input.
1321
+ * Supports multiple files, drag & drop, base64 encoding and per-file validation.
1322
1322
  */
1323
1323
  declare class ChrFileInputComponent extends ChrInputComponent implements ControlValueAccessor, OnInit, AfterContentInit {
1324
1324
  private readonly fileService;
1325
1325
  private nextFileId;
1326
- /**
1327
- * Types de fichiers autorisés (ex: "image/*,.pdf")
1328
- */
1326
+ /** Types de fichiers autorisés (ex: "image/*,.pdf"). */
1329
1327
  readonly accept: _angular_core.InputSignal<string>;
1330
- /**
1331
- * Autoriser la sélection de plusieurs fichiers
1332
- */
1328
+ /** Autoriser la sélection de plusieurs fichiers. */
1333
1329
  readonly multiple: _angular_core.InputSignal<boolean>;
1334
- /**
1335
- * Convert selected files to data URLs before updating the form value
1336
- */
1330
+ /** Convertir les fichiers sélectionnés en base64 avant de mettre à jour la valeur du formulaire. */
1337
1331
  readonly base64: _angular_core.InputSignal<boolean>;
1338
1332
  readonly type: _angular_core.InputSignal<InputType>;
1339
- /**
1340
- * Wether or not the user can update the file's name directly from the file item
1341
- */
1333
+ /** Autoriser la modification du nom du fichier depuis la liste. */
1342
1334
  readonly allowChangingFileName: _angular_core.InputSignal<boolean>;
1335
+ /** Référence de l'input HTML type="file" masqué. */
1336
+ readonly fileNativeInput: _angular_core.Signal<ElementRef<any> | undefined>;
1343
1337
  /**
1344
- * Référence de l'input HTML type="file" masqué
1345
- */
1346
- fileNativeInput: _angular_core.Signal<ElementRef<any> | undefined>;
1347
- /**
1348
- * Template Ref to the <ng-template #data let-file></ng-template> allowed to be passed for the parent.
1349
- * This template will be set next to the regular file data and allow the parent to customize display.
1350
- */
1351
- dataTemplateRef: _angular_core.Signal<TemplateRef<any> | undefined>;
1352
- private dataTemplateControls;
1353
- private dataTemplateControls$;
1354
- /**
1355
- * État du glisser-déposer (Drag & Drop)
1338
+ * Template Ref <ng-template #data let-file></ng-template>
1339
+ * permettant au parent de personnaliser l'affichage des données du fichier.
1356
1340
  */
1341
+ readonly dataTemplateRef: _angular_core.Signal<TemplateRef<any> | undefined>;
1342
+ private readonly dataTemplateControls;
1343
+ private readonly dataTemplateControls$;
1344
+ /** État du drag & drop. */
1357
1345
  readonly isDragging: _angular_core.WritableSignal<boolean>;
1358
- private readonly fileEntries;
1346
+ /** Liste des fichiers exposée au template. */
1347
+ readonly files: _angular_core.WritableSignal<FileEntry[]>;
1348
+ readonly fileValidationErrors: _angular_core.WritableSignal<(string | null)[]>;
1359
1349
  constructor();
1360
1350
  ngOnInit(): void;
1361
1351
  ngAfterContentInit(): void;
1362
- /**
1363
- * Signal calculé pour garantir la manipulation d'un tableau de fichiers
1364
- */
1365
- readonly files: _angular_core.Signal<FileEntry[]>;
1366
- /**
1367
- * Ouvre la fenêtre native de sélection de fichiers
1368
- */
1352
+ /** Ouvre la fenêtre native de sélection de fichiers. */
1369
1353
  triggerFileSelect(): void;
1370
- /**
1371
- * Gestion du changement sur l'input natif
1372
- */
1354
+ /** Gestion du changement sur l'input natif. */
1373
1355
  onFileSelected(event: Event): void;
1374
- /**
1375
- * Gestion du Drag & Drop
1376
- */
1356
+ /** Gestion du drag & drop. */
1377
1357
  onDragOver(event: DragEvent): void;
1378
1358
  onDragLeave(event: DragEvent): void;
1379
1359
  onDrop(event: DragEvent): void;
1380
- /**
1381
- * Ajoute les fichiers et met à jour le Form Value
1382
- */
1360
+ /** Ajoute les fichiers et met à jour la valeur du formulaire. */
1383
1361
  private addFiles;
1384
- /**
1385
- * Suppression d'un fichier sélectionné
1386
- */
1362
+ /** Suppression d'un fichier sélectionné. */
1387
1363
  removeFile(index: number, event?: Event): void;
1388
- private updateValue;
1389
1364
  private isAcceptedFile;
1390
- getFileValidationError(index: number): string | null;
1391
1365
  /**
1392
- * Utilitaire pour afficher la taille en Ko/Mo
1366
+ * Retourne l'erreur de validation correspondant au fichier à l'index donné.
1367
+ *
1368
+ * Pour un tableau, le validator retourne :
1369
+ * {
1370
+ * indexes: {
1371
+ * [index]: true
1372
+ * }
1373
+ * }
1374
+ *
1375
+ * On ne cherche donc jamais à faire correspondre l'erreur avec `FileEntry.id`.
1393
1376
  */
1377
+ getFileValidationError(index: number): string | null;
1378
+ /** Formatage d'une taille en octets. */
1394
1379
  formatFileSize(bytes: number): string;
1395
- getRandom(): `${string}-${string}-${string}-${string}-${string}`;
1396
1380
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChrFileInputComponent, never>;
1397
1381
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChrFileInputComponent, "chr-file-input", never, { "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "base64": { "alias": "base64"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "allowChangingFileName": { "alias": "allowChangingFileName"; "required": false; "isSignal": true; }; }, {}, ["dataTemplateRef", "dataTemplateControls"], never, true, never>;
1398
1382
  }
@@ -1798,7 +1782,7 @@ declare class ChrButtonComponent implements OnInit {
1798
1782
  * Name of the Google Material Symbols icon
1799
1783
  */
1800
1784
  icon: _angular_core.InputSignal<string | undefined>;
1801
- iconSize: _angular_core.InputSignal<"inherit" | "small" | "medium" | "large">;
1785
+ iconSize: _angular_core.InputSignal<"small" | "inherit" | "medium" | "large">;
1802
1786
  /**
1803
1787
  * Button's color. It will affect both the text and the icon
1804
1788
  */
@@ -1806,7 +1790,7 @@ declare class ChrButtonComponent implements OnInit {
1806
1790
  /**
1807
1791
  * HTML Button type
1808
1792
  */
1809
- type: _angular_core.InputSignal<"submit" | "button">;
1793
+ type: _angular_core.InputSignal<"button" | "submit">;
1810
1794
  /**
1811
1795
  * Whether or not the button is disabled
1812
1796
  */
@@ -2454,7 +2438,7 @@ declare class MessageBanner {
2454
2438
  title: _angular_core.InputSignal<string | null>;
2455
2439
  icon: _angular_core.InputSignal<string | null>;
2456
2440
  message: _angular_core.InputSignal<string | undefined>;
2457
- type: _angular_core.InputSignal<"error" | "none" | "info" | "warning">;
2441
+ type: _angular_core.InputSignal<"none" | "error" | "info" | "warning">;
2458
2442
  close: () => void;
2459
2443
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MessageBanner, never>;
2460
2444
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MessageBanner, "chr-message-banner", never, { "closable": { "alias": "closable"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
@@ -2481,10 +2465,10 @@ declare class DataListComponent implements OnInit, AfterViewInit, OnDestroy {
2481
2465
  for: _angular_core.InputSignal<string | null>;
2482
2466
  allowStringify: _angular_core.InputSignal<boolean>;
2483
2467
  display: _angular_core.InputSignal<((item: any) => string) | undefined>;
2484
- targetElement: _angular_core.InputSignal<HTMLInputElement | null>;
2468
+ target: _angular_core.InputSignal<HTMLInputElement | null>;
2485
2469
  blurOnSelect: _angular_core.InputSignal<boolean>;
2486
2470
  selectOnFullMatch: _angular_core.InputSignal<boolean>;
2487
- targetInput: _angular_core.WritableSignal<HTMLInputElement>;
2471
+ targetElement: _angular_core.WritableSignal<HTMLElement>;
2488
2472
  displayFn: _angular_core.Signal<(item: any) => string>;
2489
2473
  isOpen: _angular_core.WritableSignal<boolean>;
2490
2474
  filterValue: _angular_core.WritableSignal<string>;
@@ -2516,15 +2500,16 @@ declare class DataListComponent implements OnInit, AfterViewInit, OnDestroy {
2516
2500
  focusNext: () => void;
2517
2501
  focusPrevious: () => void;
2518
2502
  private positionDropdown;
2503
+ private select;
2519
2504
  private setupEventListeners;
2520
2505
  private removeEventListeners;
2521
2506
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataListComponent, never>;
2522
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataListComponent, "chr-data-list", never, { "suggestions": { "alias": "suggestions"; "required": true; "isSignal": true; }; "for": { "alias": "for"; "required": false; "isSignal": true; }; "allowStringify": { "alias": "allowStringify"; "required": false; "isSignal": true; }; "display": { "alias": "display"; "required": false; "isSignal": true; }; "targetElement": { "alias": "targetElement"; "required": false; "isSignal": true; }; "blurOnSelect": { "alias": "blurOnSelect"; "required": false; "isSignal": true; }; "selectOnFullMatch": { "alias": "selectOnFullMatch"; "required": false; "isSignal": true; }; }, { "optionSelected": "optionSelected"; }, never, never, true, never>;
2507
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataListComponent, "chr-data-list", never, { "suggestions": { "alias": "suggestions"; "required": true; "isSignal": true; }; "for": { "alias": "for"; "required": false; "isSignal": true; }; "allowStringify": { "alias": "allowStringify"; "required": false; "isSignal": true; }; "display": { "alias": "display"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; "blurOnSelect": { "alias": "blurOnSelect"; "required": false; "isSignal": true; }; "selectOnFullMatch": { "alias": "selectOnFullMatch"; "required": false; "isSignal": true; }; }, { "optionSelected": "optionSelected"; }, never, never, true, never>;
2523
2508
  }
2524
2509
 
2525
2510
  declare class ChrHoverTitleComponent {
2526
2511
  title: _angular_core.InputSignal<string>;
2527
- position: _angular_core.InputSignal<"left" | "right" | "above" | "below">;
2512
+ position: _angular_core.InputSignal<"above" | "below" | "left" | "right">;
2528
2513
  originElement: _angular_core.InputSignal<HTMLElement | null>;
2529
2514
  color: _angular_core.Signal<string>;
2530
2515
  backgroundColor: _angular_core.Signal<string>;
@@ -2591,7 +2576,7 @@ declare class Spinner {
2591
2576
  declare class ChrSimpleTableComponent<T> {
2592
2577
  readonly id: _angular_core.InputSignal<`${string}-${string}-${string}-${string}-${string}`>;
2593
2578
  readonly data: _angular_core.InputSignal<T[]>;
2594
- readonly layout: _angular_core.InputSignal<"fixed" | "auto">;
2579
+ readonly layout: _angular_core.InputSignal<"auto" | "fixed">;
2595
2580
  readonly page: _angular_core.ModelSignal<number>;
2596
2581
  readonly pageSize: _angular_core.ModelSignal<number>;
2597
2582
  protected readonly captionTemplate?: TemplateRef<unknown>;
@@ -2713,7 +2698,7 @@ declare class OutsideClickAwareDirective {
2713
2698
  declare class ChrHoverTitleDirective implements OnInit, OnDestroy {
2714
2699
  defaults: chrv_components.DebounceDefaults;
2715
2700
  chrTitle: _angular_core.ModelSignal<string | null | undefined>;
2716
- chrTitlePosition: _angular_core.InputSignal<"left" | "right" | "above" | "below">;
2701
+ chrTitlePosition: _angular_core.InputSignal<"above" | "below" | "left" | "right">;
2717
2702
  chrTitleSnap: _angular_core.InputSignal<boolean>;
2718
2703
  chrTitleDebounce: _angular_core.InputSignal<number>;
2719
2704
  private elementRef;
@@ -2778,7 +2763,7 @@ declare class ChrHoverDirective implements OnInit, OnDestroy {
2778
2763
  template: TemplateRef<any>;
2779
2764
  chrHoverContext: _angular_core.InputSignal<any>;
2780
2765
  chrHoverSnap: _angular_core.InputSignal<boolean>;
2781
- chrHoverPosition: _angular_core.InputSignal<"left" | "right" | "above" | "below">;
2766
+ chrHoverPosition: _angular_core.InputSignal<"above" | "below" | "left" | "right">;
2782
2767
  chrHoverCloseDelay: _angular_core.InputSignal<number>;
2783
2768
  private overlayRef;
2784
2769
  private portal?;
@@ -2805,7 +2790,7 @@ declare class ChrHoverDirective implements OnInit, OnDestroy {
2805
2790
  */
2806
2791
  declare class ChrPopoverDirective implements OnInit, AfterViewInit {
2807
2792
  readonly chrPopover: _angular_core.InputSignal<string | TemplateRef<any>>;
2808
- readonly chrPopoverPosition: _angular_core.InputSignal<"top" | "bottom" | "left" | "right" | "center">;
2793
+ readonly chrPopoverPosition: _angular_core.InputSignal<"center" | "left" | "right" | "top" | "bottom">;
2809
2794
  readonly chrPopoverData: _angular_core.InputSignal<any>;
2810
2795
  readonly chrPopoverOnHover: _angular_core.InputSignal<boolean>;
2811
2796
  readonly isOpen: _angular_core.WritableSignal<boolean>;
@@ -3163,7 +3148,7 @@ declare class MaxFileNameLengthValidator implements Validator {
3163
3148
  readonly max: _angular_core.InputSignal<number>;
3164
3149
  validate(control: AbstractControl): ValidationErrors | null;
3165
3150
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MaxFileNameLengthValidator, never>;
3166
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MaxFileNameLengthValidator, "[app-max-file-size]", never, { "max": { "alias": "max"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3151
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MaxFileNameLengthValidator, "[appMaxFileNameLength]", never, { "max": { "alias": "appMaxFileNameLength"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3167
3152
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<MaxFileNameLengthValidator>;
3168
3153
  }
3169
3154
  declare function maxFileNameLength(maxLength: number): ValidatorFn;
@@ -3172,10 +3157,10 @@ declare class MinFileNameLengthValidator implements Validator {
3172
3157
  readonly max: _angular_core.InputSignal<number>;
3173
3158
  validate(control: AbstractControl): ValidationErrors | null;
3174
3159
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MinFileNameLengthValidator, never>;
3175
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MinFileNameLengthValidator, "[app-max-file-size]", never, { "max": { "alias": "max"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3160
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MinFileNameLengthValidator, "[app-min-file-name-length]", never, { "max": { "alias": "max"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3176
3161
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<MinFileNameLengthValidator>;
3177
3162
  }
3178
- declare function minFileNameLength(maxLength: number): ValidatorFn;
3163
+ declare function minFileNameLength(minLength: number): ValidatorFn;
3179
3164
 
3180
3165
  interface IDisplayableColumnMetadata extends IMinimumColumnMetadata {
3181
3166
  displayName: string;
Binary file