cats-ui-lib 2.0.10 → 2.0.11

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/index.d.ts CHANGED
@@ -106,7 +106,7 @@ declare class InputComponent implements ControlValueAccessor, Validator {
106
106
  value: string;
107
107
  disabled: boolean;
108
108
  touched: boolean;
109
- control: FormControl | null;
109
+ control: FormControl<any> | null;
110
110
  showPassword: boolean;
111
111
  private onChange;
112
112
  private onTouched;
@@ -247,7 +247,7 @@ declare class MultiSelectComponent implements OnChanges, OnInit, ControlValueAcc
247
247
  multiSelectConfig: MultiSelectConfig;
248
248
  selectedOptions: any[];
249
249
  onSelection: EventEmitter<any>;
250
- control: FormControl<any>;
250
+ control: FormControl<any> | null;
251
251
  showDropdown: boolean;
252
252
  isListArrayOfObject: boolean;
253
253
  isSelectedAll: boolean;
@@ -360,7 +360,7 @@ declare class AutoCompleteSingleSelectComponent implements OnInit {
360
360
  selectedOption: any;
361
361
  constructor();
362
362
  inValid: boolean;
363
- control: FormControl<any>;
363
+ control: FormControl<any> | null;
364
364
  disableControl: boolean;
365
365
  ngOnInit(): void;
366
366
  private onTouchedCallback;
@@ -413,7 +413,7 @@ declare class AutoCompleteSingleSelectComponent implements OnInit {
413
413
  */
414
414
  onDivScroll(event: any): void;
415
415
  static ɵfac: i0.ɵɵFactoryDeclaration<AutoCompleteSingleSelectComponent, never>;
416
- static ɵcmp: i0.ɵɵComponentDeclaration<AutoCompleteSingleSelectComponent, "cats-ui-input-single-select", never, { "autoSingleSelectConfig": { "alias": "autoSingleSelectConfig"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "selectedItem": { "alias": "selectedItem"; "required": false; }; "optionsList": { "alias": "optionsList"; "required": false; }; "parentNativeElement": { "alias": "parentNativeElement"; "required": false; }; "disableControl": { "alias": "disableControl"; "required": false; }; }, { "onItemSelection": "onItemSelection"; "onScroll": "onScroll"; }, never, never, true, never>;
416
+ static ɵcmp: i0.ɵɵComponentDeclaration<AutoCompleteSingleSelectComponent, "cats-ui-input-single-select", never, { "autoSingleSelectConfig": { "alias": "autoSingleSelectConfig"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "selectedItem": { "alias": "selectedItem"; "required": false; }; "optionsList": { "alias": "optionsList"; "required": false; }; "parentNativeElement": { "alias": "parentNativeElement"; "required": false; }; }, { "onItemSelection": "onItemSelection"; "onScroll": "onScroll"; }, never, never, true, never>;
417
417
  }
418
418
 
419
419
  declare class OutsideClickDirective {
@@ -444,7 +444,7 @@ declare class AutoCompleteMultiSelectComponent implements OnInit, ControlValueAc
444
444
  selectedOptions: any[];
445
445
  isSelectedAll: boolean;
446
446
  inValid: boolean;
447
- control: FormControl<any>;
447
+ control: FormControl<any> | null;
448
448
  isDisabled: boolean;
449
449
  safePlaceholder: SafeHtml;
450
450
  constructor(sanitizer: DomSanitizer);
@@ -646,6 +646,7 @@ declare class CustomDatePickerComponent implements OnInit, ControlValueAccessor,
646
646
  private onChange;
647
647
  private onTouched;
648
648
  isOpen: boolean;
649
+ control: FormControl<any> | null;
649
650
  selectedDate: Date | null;
650
651
  tempDate: Date | null;
651
652
  rangeFrom: Date | null;
@@ -686,6 +687,7 @@ declare class CustomDatePickerComponent implements OnInit, ControlValueAccessor,
686
687
  writeValue(val: any): void;
687
688
  registerOnChange(fn: any): void;
688
689
  registerOnTouched(fn: any): void;
690
+ validate(control: FormControl): any;
689
691
  toggleCalendar(): void;
690
692
  initializeCurrentMonthYear(): void;
691
693
  onDocumentClick(event: MouseEvent): void;
@@ -997,22 +999,51 @@ declare class FileUploadComponent implements ControlValueAccessor {
997
999
  multiple: boolean;
998
1000
  /** Button position: 'left' (prefix) | 'right' (suffix) */
999
1001
  buttonPosition: 'left' | 'right';
1002
+ maxSize: number | null;
1003
+ minSize: number | null;
1004
+ helperText: string;
1005
+ /**
1006
+ * Accepted MIME types or extensions, comma-separated.
1007
+ * e.g. 'image/png,image/jpeg' or '.png,.jpg,.pdf'
1008
+ * Passed directly to the hidden <input accept="..."> attribute.
1009
+ * Also used for runtime validation.
1010
+ * null = accept all
1011
+ */
1012
+ accept: string | null;
1000
1013
  value: File[];
1001
1014
  isFocused: boolean;
1015
+ validationError: string;
1016
+ control: FormControl<any> | null;
1002
1017
  onChange: (value: File[]) => void;
1003
1018
  onTouched: () => void;
1004
1019
  writeValue(files: File[] | null | undefined): void;
1005
1020
  registerOnChange(fn: (value: File[]) => void): void;
1006
1021
  registerOnTouched(fn: () => void): void;
1007
1022
  setDisabledState(isDisabled: boolean): void;
1023
+ validate(control: FormControl): any;
1024
+ /**
1025
+ * Validates a single file against minSize, maxSize, and accept rules.
1026
+ * Returns an error string, or empty string if valid.
1027
+ */
1028
+ private validateFile;
1029
+ /** Validates a batch; sets validationError and returns only valid files. */
1030
+ private processFiles;
1008
1031
  onFileSelect(event: Event, input: HTMLInputElement): void;
1009
1032
  onDrop(event: DragEvent): void;
1010
1033
  onDragOver(event: DragEvent): void;
1011
1034
  removeFile(index: number, input?: HTMLInputElement): void;
1035
+ /** Human-readable byte string: 1024 → "1 KB", 5242880 → "5 MB" */
1036
+ formatBytes(bytes: number): string;
1037
+ /**
1038
+ * Builds a human-readable hint string from the current constraints.
1039
+ * e.g. "PNG, JPG • Max 5 MB • Min 10 KB"
1040
+ */
1012
1041
  get isFilled(): boolean;
1042
+ /** Combines external errorMessage prop with internal validation errors. */
1043
+ get displayError(): string;
1013
1044
  get hasError(): boolean;
1014
1045
  static ɵfac: i0.ɵɵFactoryDeclaration<FileUploadComponent, never>;
1015
- static ɵcmp: i0.ɵɵComponentDeclaration<FileUploadComponent, "cats-ui-file-upload", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "buttonPosition": { "alias": "buttonPosition"; "required": false; }; }, {}, never, never, true, never>;
1046
+ static ɵcmp: i0.ɵɵComponentDeclaration<FileUploadComponent, "cats-ui-file-upload", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "buttonPosition": { "alias": "buttonPosition"; "required": false; }; "maxSize": { "alias": "maxSize"; "required": false; }; "minSize": { "alias": "minSize"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "accept": { "alias": "accept"; "required": false; }; }, {}, never, never, true, never>;
1016
1047
  }
1017
1048
 
1018
1049
  export { AccordionComponent, AccordionItemComponent, AutoCompleteMultiSelectComponent, AutoCompleteMultiSelectConfig, AutoCompleteSingleSelectComponent, AutoCompleteSingleSelectConfig, CatsUiService, CatsUiTooltipDirective, CheckBoxConfig, CheckBoxSubtask, CheckboxButtonComponent, CustomDatePickerComponent, DROPDOWN_CONTROL_VALUE_ACCESSOR, DROPDOWN_CONTROL_VALUE_VALIDATOR, FileUploadComponent, InputComponent, InputConfig, MULTI_SELECT_CONTROL_VALUE_ACCESSOR, MULTI_SELECT_CONTROL_VALUE_VALIDATOR, MultiSelectComponent, MultiSelectConfig, OutsideClickDirective, RadioButtonComponent, SINGLE_SELECT_CONTROL_VALUE_ACCESSOR, SINGLE_SELECT_CONTROL_VALUE_VALIDATOR, SearchBoxComponent, SearchConfig, SingleSelectComponent, SingleSelectConfig, TabContentComponent, TabsetComponent, TimestampFilterComponent, ToggleConfig, ToogleButtonComponent, WizardComponent, WizardService, WizardStepDirective };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cats-ui-lib",
3
- "version": "2.0.10",
3
+ "version": "2.0.11",
4
4
  "peerDependencies": {
5
5
  "@angular/core": ">=18 <22",
6
6
  "@angular/common": ">=18 <22"