cats-ui-lib 2.0.4 → 2.0.6

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
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, OnInit, OnChanges, TemplateRef, ChangeDetectorRef, ElementRef, SimpleChanges, OnDestroy, Renderer2, QueryList } from '@angular/core';
3
3
  import { ControlValueAccessor, Validator, FormControl, AbstractControl, ValidationErrors } from '@angular/forms';
4
+ import { SafeHtml, DomSanitizer } from '@angular/platform-browser';
4
5
  import { DatePipe } from '@angular/common';
5
6
 
6
7
  declare class CatsUiService {
@@ -54,8 +55,10 @@ declare class AutoCompleteMultiSelectConfig {
54
55
  placeholder?: string;
55
56
  required?: boolean;
56
57
  chipLimit: number;
57
- customInput: boolean;
58
+ customInput?: boolean;
58
59
  pattern?: string;
60
+ infoText?: string;
61
+ selectionLimit?: number;
59
62
  }
60
63
  declare class ToggleConfig {
61
64
  checked: boolean;
@@ -424,6 +427,7 @@ declare class OutsideClickDirective {
424
427
  }
425
428
 
426
429
  declare class AutoCompleteMultiSelectComponent implements OnInit, ControlValueAccessor, Validator {
430
+ private sanitizer;
427
431
  autoCompleteMultiSelectConfig: AutoCompleteMultiSelectConfig;
428
432
  selectedItem: any;
429
433
  optionsList: any[];
@@ -437,12 +441,12 @@ declare class AutoCompleteMultiSelectComponent implements OnInit, ControlValueAc
437
441
  inValid: boolean;
438
442
  control: FormControl<any>;
439
443
  isDisabled: boolean;
440
- constructor();
444
+ safePlaceholder: SafeHtml;
445
+ constructor(sanitizer: DomSanitizer);
441
446
  ngOnInit(): void;
442
447
  ngOnChanges(_changes: SimpleChanges): void;
443
448
  private onChange;
444
449
  private onTouched;
445
- private applyDefaultConfig;
446
450
  /**
447
451
  * @description Method to toggle dropdown list
448
452
  * @author Shiva Kant
@@ -790,6 +794,142 @@ declare class DateTimePickerComponent implements OnInit, OnChanges, ControlValue
790
794
  static ɵcmp: i0.ɵɵComponentDeclaration<DateTimePickerComponent, "cats-ui-date-time-picker", never, { "dateConfig": { "alias": "dateConfig"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "preSelectedValue": { "alias": "preSelectedValue"; "required": false; }; }, { "dateTimeSelected": "dateTimeSelected"; }, never, never, true, never>;
791
795
  }
792
796
 
797
+ type DatePickerMode = 'single' | 'range' | 'dual';
798
+ interface DatePickerConfig {
799
+ mode?: DatePickerMode;
800
+ time?: boolean;
801
+ minDate?: Date;
802
+ maxDate?: Date;
803
+ placeholder?: string;
804
+ fromPlaceholder?: string;
805
+ toPlaceholder?: string;
806
+ dateFormat?: 'dd MMM yyyy' | 'MM/dd/yyyy' | 'yyyy-MM-dd';
807
+ parentDateFormat?: 'dd MMM yyyy' | 'MM/dd/yyyy' | 'yyyy-MM-dd';
808
+ disabledDates?: Date[];
809
+ disablePastDays?: number;
810
+ showDateLabel?: boolean;
811
+ showTimeLabel?: boolean;
812
+ }
813
+ interface DateRange {
814
+ from: string | null;
815
+ fromTime: string;
816
+ to: string | null;
817
+ toTime: string;
818
+ }
819
+ interface DateTimeResult {
820
+ date: string | null;
821
+ time: string;
822
+ meridiem: 'AM' | 'PM';
823
+ }
824
+ type CalenderView = 'day' | 'year' | 'month';
825
+ declare class CustomDatePickerComponent implements OnInit, ControlValueAccessor {
826
+ private elRef;
827
+ config: DatePickerConfig;
828
+ label: string;
829
+ showHeader: boolean;
830
+ showTrigger: boolean;
831
+ applied: EventEmitter<string | Date | DateRange | DateTimeResult>;
832
+ cancelled: EventEmitter<void>;
833
+ rangeSelected: EventEmitter<DateRange>;
834
+ private onChange;
835
+ private onTouched;
836
+ isOpen: boolean;
837
+ selectedDate: Date | null;
838
+ tempDate: Date | null;
839
+ rangeFrom: Date | null;
840
+ rangeTo: Date | null;
841
+ tempFrom: Date | null;
842
+ tempTo: Date | null;
843
+ timeValue: string;
844
+ timeMeridiem: 'AM' | 'PM';
845
+ fromTimeValue: string;
846
+ fromTimeMeridiem: 'AM' | 'PM';
847
+ toTimeValue: string;
848
+ toTimeMeridiem: 'AM' | 'PM';
849
+ currentMonth: number;
850
+ currentYear: number;
851
+ weekDays: string[];
852
+ calendarDays: (number | null)[];
853
+ currentMonth2: number;
854
+ currentYear2: number;
855
+ calendarDays2: (number | null)[];
856
+ yearRange: number[];
857
+ calenderView: CalenderView;
858
+ activeCalendar: 'primary' | 'secondary';
859
+ monthNames: string[];
860
+ constructor(elRef: ElementRef);
861
+ ngOnInit(): void;
862
+ get mode(): DatePickerMode;
863
+ get showDateLabel(): boolean;
864
+ get time(): boolean;
865
+ get currentMonthYear(): string;
866
+ get currentMonthName(): string;
867
+ get activeMonthName(): string;
868
+ get activeYearValue(): number;
869
+ get displayValue(): string;
870
+ get tempDisplayValue(): string;
871
+ get tempFromDisplay(): string;
872
+ get tempToDisplay(): string;
873
+ writeValue(val: any): void;
874
+ registerOnChange(fn: any): void;
875
+ registerOnTouched(fn: any): void;
876
+ toggleCalendar(): void;
877
+ initializeCurrentMonthYear(): void;
878
+ onDocumentClick(event: MouseEvent): void;
879
+ buildCalendar(): void;
880
+ private buildCalendarDays;
881
+ private getNextMonthYear;
882
+ private getPrevMonthYear;
883
+ generateYearRange(year?: number): void;
884
+ openView(calendar: 'primary' | 'secondary', view: CalenderView): void;
885
+ getDayDisplay(day: number | null): string;
886
+ isOtherMonth(day: number | null): boolean;
887
+ getActualDay(day: number | null): number | null;
888
+ prevMonth(): void;
889
+ nextMonth(): void;
890
+ selectMonth(month: string): void;
891
+ previousYearRange(): void;
892
+ nextYearRange(): void;
893
+ selectYear(year: number): void;
894
+ selectDay(day: number | null, calendar?: 'primary' | 'secondary'): void;
895
+ isSelected(day: number | null, month?: number, year?: number): boolean;
896
+ isInRange(day: number | null, month?: number, year?: number): boolean;
897
+ isRangeStart(day: number | null, month?: number, year?: number): boolean;
898
+ isRangeEnd(day: number | null, month?: number, year?: number): boolean;
899
+ isToday(day: number | null, month?: number, year?: number): boolean;
900
+ isDayDisabled(day: number | null, month?: number, year?: number): boolean;
901
+ setTime(event: any): void;
902
+ singleTimeInSeconds: number | null;
903
+ fromTimeInSeconds: number | null;
904
+ toTimeInSeconds: number | null;
905
+ private convertToSeconds;
906
+ onSingleTimeChange(event: {
907
+ time: string;
908
+ meridiem: 'AM' | 'PM';
909
+ }): void;
910
+ onFromTimeChange(event: {
911
+ time: string;
912
+ meridiem: 'AM' | 'PM';
913
+ }): void;
914
+ onToTimeChange(event: {
915
+ time: string;
916
+ meridiem: 'AM' | 'PM';
917
+ }): void;
918
+ onApply(): void;
919
+ private normalizeTime;
920
+ appendTimeInDate(time: string, date: Date, timeMeridiem: string): Date;
921
+ onCancel(): void;
922
+ clearDate(): void;
923
+ cancelDate(source: string): void;
924
+ onDaySelected(day: number | null, calendar: 'primary' | 'secondary'): void;
925
+ isSameDay(a: Date | null, b: Date | null): boolean;
926
+ formatDate(date: Date, dateFormat?: string): string;
927
+ get canApply(): boolean;
928
+ private isValidTime;
929
+ static ɵfac: i0.ɵɵFactoryDeclaration<CustomDatePickerComponent, never>;
930
+ static ɵcmp: i0.ɵɵComponentDeclaration<CustomDatePickerComponent, "cats-ui-custom-date-picker", never, { "config": { "alias": "config"; "required": false; }; "label": { "alias": "label"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "showTrigger": { "alias": "showTrigger"; "required": false; }; }, { "applied": "applied"; "cancelled": "cancelled"; "rangeSelected": "rangeSelected"; }, never, never, true, never>;
931
+ }
932
+
793
933
  declare class CatsUiTooltipDirective implements OnInit, OnDestroy {
794
934
  private el;
795
935
  private renderer;
@@ -903,5 +1043,150 @@ declare class TabComponent {
903
1043
  static ɵcmp: i0.ɵɵComponentDeclaration<TabComponent, "cats-ui-tab", never, { "activeTab": { "alias": "activeTab"; "required": false; }; "disabledTabs": { "alias": "disabledTabs"; "required": false; }; }, { "selectTab": "selectTab"; }, ["items"], never, true, never>;
904
1044
  }
905
1045
 
906
- export { AccordionComponent, AccordionItemComponent, AutoCompleteMultiSelectComponent, AutoCompleteMultiSelectConfig, AutoCompleteSingleSelectComponent, AutoCompleteSingleSelectConfig, CatsUiService, CatsUiTooltipDirective, CheckBoxConfig, CheckBoxSubtask, CheckboxButtonComponent, DROPDOWN_CONTROL_VALUE_ACCESSOR, DROPDOWN_CONTROL_VALUE_VALIDATOR, DateTimePickerComponent, 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, TabComponent, TabContentDirective, TabHeadingDirective, TabItemComponent, ToggleConfig, ToogleButtonComponent };
907
- export type { DateConfig, RadioButtonConfig };
1046
+ declare class TabContentComponent {
1047
+ active: boolean;
1048
+ tabId: number;
1049
+ static ɵfac: i0.ɵɵFactoryDeclaration<TabContentComponent, never>;
1050
+ static ɵcmp: i0.ɵɵComponentDeclaration<TabContentComponent, "cats-ui-tab-content", never, { "active": { "alias": "active"; "required": false; }; "tabId": { "alias": "tabId"; "required": false; }; }, {}, never, ["*"], true, never>;
1051
+ }
1052
+
1053
+ interface TabConfig {
1054
+ type?: 'Default' | 'Stroke' | string;
1055
+ addTab?: boolean;
1056
+ closeTab?: boolean;
1057
+ homeTab?: boolean;
1058
+ }
1059
+ interface TabItem {
1060
+ id: number;
1061
+ title: string;
1062
+ leadingIcon?: string;
1063
+ tralingIocn?: string;
1064
+ count?: number | string;
1065
+ isDisable?: boolean;
1066
+ isHome?: boolean;
1067
+ }
1068
+ declare class TabsetComponent {
1069
+ tabs: TabItem[];
1070
+ activeTab: number | null;
1071
+ activeTabChange: EventEmitter<number | null>;
1072
+ tabConfig: TabConfig;
1073
+ tabAdded: EventEmitter<TabItem>;
1074
+ tabClosed: EventEmitter<number>;
1075
+ contents: QueryList<TabContentComponent>;
1076
+ counter: number;
1077
+ ngAfterContentInit(): void;
1078
+ ngOnChanges(changes: SimpleChanges): void;
1079
+ addHomeTabIfNeeded(): void;
1080
+ setActive(id: number): void;
1081
+ closeTab(event: Event, id: number, index: number): void;
1082
+ addTab(event: Event): void;
1083
+ updateContentActivation(): void;
1084
+ static ɵfac: i0.ɵɵFactoryDeclaration<TabsetComponent, never>;
1085
+ static ɵcmp: i0.ɵɵComponentDeclaration<TabsetComponent, "cats-ui-tabset", never, { "tabs": { "alias": "tabs"; "required": false; }; "activeTab": { "alias": "activeTab"; "required": false; }; "tabConfig": { "alias": "tabConfig"; "required": false; }; }, { "activeTabChange": "activeTabChange"; "tabAdded": "tabAdded"; "tabClosed": "tabClosed"; }, ["contents"], ["*"], true, never>;
1086
+ }
1087
+
1088
+ type FilterType = 'live' | 'today' | 'week' | 'month' | 'fy' | 'last' | 'customRange' | 'customDate';
1089
+ interface TimeFilterOption {
1090
+ label: string;
1091
+ value: string;
1092
+ type?: 'radio' | 'input' | 'submenu';
1093
+ children?: TimeFilterOption[];
1094
+ default?: boolean;
1095
+ custom?: boolean;
1096
+ pickerMode?: DatePickerMode;
1097
+ time?: boolean;
1098
+ }
1099
+ interface TimeFilterConfig {
1100
+ title?: string;
1101
+ showReset?: boolean;
1102
+ options: TimeFilterOption[];
1103
+ }
1104
+ interface TimeFilterOutput {
1105
+ type: FilterType;
1106
+ label?: string;
1107
+ startDate?: Date;
1108
+ endDate?: Date;
1109
+ value?: number;
1110
+ unit?: 'Hours' | 'Days';
1111
+ key?: string;
1112
+ }
1113
+ declare class TimestampFilterComponent {
1114
+ config: TimeFilterConfig;
1115
+ selectionChange: EventEmitter<TimeFilterOutput>;
1116
+ selectedValue: string | null;
1117
+ activePicker: TimeFilterOption | null;
1118
+ lastValue: number;
1119
+ lastUnit: 'Hours' | 'Days';
1120
+ get normalOptions(): TimeFilterOption[];
1121
+ get customOptions(): TimeFilterOption[];
1122
+ ngOnInit(): void;
1123
+ getPickerConfig(option: TimeFilterOption): DatePickerConfig;
1124
+ selectOption(option: TimeFilterOption): void;
1125
+ private startOfDay;
1126
+ private startOfWeek;
1127
+ private startOfFinancialYear;
1128
+ private subtractTime;
1129
+ emitLast(): void;
1130
+ onLastChange(): void;
1131
+ reset(): void;
1132
+ private emit;
1133
+ onDateApplied(event: any): void;
1134
+ applied(dt: any): void;
1135
+ static ɵfac: i0.ɵɵFactoryDeclaration<TimestampFilterComponent, never>;
1136
+ static ɵcmp: i0.ɵɵComponentDeclaration<TimestampFilterComponent, "cats-ui-timestamp-filter", never, { "config": { "alias": "config"; "required": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
1137
+ }
1138
+
1139
+ declare class WizardService {
1140
+ private wizards;
1141
+ activeStep: i0.WritableSignal<any>;
1142
+ stepConfig: i0.WritableSignal<any>;
1143
+ open(wizardId: string, config: any): void;
1144
+ close(wizardId: string): void;
1145
+ nextStep(wizardId: string): void;
1146
+ previousStep(wizardId: string): void;
1147
+ gotoStep(step: number, wizardId: string): void;
1148
+ isOpen(wizardId: string): i0.Signal<any>;
1149
+ getConfig(wizardId: string): i0.Signal<any>;
1150
+ getCurrentStepIndex(wizardId: string): i0.Signal<any>;
1151
+ getCurrentStep(wizardId: string): i0.Signal<any>;
1152
+ getProgress(wizardId: string): i0.Signal<number>;
1153
+ static ɵfac: i0.ɵɵFactoryDeclaration<WizardService, never>;
1154
+ static ɵprov: i0.ɵɵInjectableDeclaration<WizardService>;
1155
+ }
1156
+
1157
+ declare class WizardStepDirective {
1158
+ templateRef: TemplateRef<any>;
1159
+ constructor(templateRef: TemplateRef<any>);
1160
+ static ɵfac: i0.ɵɵFactoryDeclaration<WizardStepDirective, never>;
1161
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WizardStepDirective, "[wizardStep]", never, {}, {}, never, never, true, never>;
1162
+ }
1163
+
1164
+ declare class WizardComponent {
1165
+ private commonService;
1166
+ wizardId: string;
1167
+ title: string;
1168
+ closed: EventEmitter<void>;
1169
+ stepTemplates: QueryList<WizardStepDirective>;
1170
+ showProgressBar: boolean;
1171
+ showStepBadge: boolean;
1172
+ expandable: boolean;
1173
+ isExpanded: boolean;
1174
+ toggleExpand(): void;
1175
+ steps: any;
1176
+ activeStep: any;
1177
+ templates: WizardStepDirective[];
1178
+ constructor(commonService: WizardService);
1179
+ ngAfterContentInit(): void;
1180
+ get currentStepIndex(): number;
1181
+ get wizardSteps(): any[];
1182
+ get currentTemplate(): i0.TemplateRef<any>;
1183
+ get currentStepLabel(): string;
1184
+ get currentStepNumber(): number;
1185
+ goToStep(step: number): void;
1186
+ closeModal(): void;
1187
+ static ɵfac: i0.ɵɵFactoryDeclaration<WizardComponent, never>;
1188
+ static ɵcmp: i0.ɵɵComponentDeclaration<WizardComponent, "cats-ui-wizard", never, { "wizardId": { "alias": "wizardId"; "required": false; }; "title": { "alias": "title"; "required": false; }; "showProgressBar": { "alias": "showProgressBar"; "required": false; }; "showStepBadge": { "alias": "showStepBadge"; "required": false; }; "expandable": { "alias": "expandable"; "required": false; }; }, { "closed": "closed"; }, ["stepTemplates"], never, true, never>;
1189
+ }
1190
+
1191
+ export { AccordionComponent, AccordionItemComponent, AutoCompleteMultiSelectComponent, AutoCompleteMultiSelectConfig, AutoCompleteSingleSelectComponent, AutoCompleteSingleSelectConfig, CatsUiService, CatsUiTooltipDirective, CheckBoxConfig, CheckBoxSubtask, CheckboxButtonComponent, CustomDatePickerComponent, DROPDOWN_CONTROL_VALUE_ACCESSOR, DROPDOWN_CONTROL_VALUE_VALIDATOR, DateTimePickerComponent, 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, TabComponent, TabContentComponent, TabContentDirective, TabHeadingDirective, TabItemComponent, TabsetComponent, TimestampFilterComponent, ToggleConfig, ToogleButtonComponent, WizardComponent, WizardService, WizardStepDirective };
1192
+ export type { CalenderView, DateConfig, DatePickerConfig, DatePickerMode, DateRange, DateTimeResult, FilterType, RadioButtonConfig, TabConfig, TabItem, TimeFilterConfig, TimeFilterOption, TimeFilterOutput };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cats-ui-lib",
3
- "version": "2.0.4",
3
+ "version": "2.0.6",
4
4
  "peerDependencies": {
5
5
  "@angular/core": ">=18 <22",
6
6
  "@angular/common": ">=18 <22"
@@ -51,7 +51,7 @@ $ultraWideDesktop: 1919px;
51
51
  @mixin border(
52
52
  $width: rem(1px),
53
53
  $style: solid,
54
- $color: var(--neutral-300),
54
+ $color: var(--border-core-default),
55
55
  $radius: rem(4px)
56
56
  ) {
57
57
  border: $width $style $color;