shirkasoft-ui-components 1.0.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.
@@ -0,0 +1,608 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ElementRef, OnDestroy, Type, ViewContainerRef, ComponentRef } from '@angular/core';
3
+ import { ControlValueAccessor, FormGroup, FormControl } from '@angular/forms';
4
+
5
+ declare class TextFieldComponent implements ControlValueAccessor {
6
+ private cdr;
7
+ id: _angular_core.InputSignal<string>;
8
+ formatCard: _angular_core.InputSignal<boolean>;
9
+ preventNegative: _angular_core.InputSignal<boolean>;
10
+ label: _angular_core.InputSignal<string>;
11
+ type: _angular_core.InputSignal<string>;
12
+ numbersOnly: _angular_core.InputSignal<boolean>;
13
+ allowDecimals: _angular_core.InputSignal<boolean>;
14
+ maxLength: _angular_core.InputSignal<number | undefined>;
15
+ placeholder: _angular_core.InputSignal<string>;
16
+ errorMessages: _angular_core.InputSignal<{
17
+ [key: string]: string;
18
+ }>;
19
+ formGroup: _angular_core.InputSignal<FormGroup<any> | undefined>;
20
+ control: _angular_core.InputSignal<FormControl<any> | undefined>;
21
+ disabled: _angular_core.InputSignal<boolean>;
22
+ errorMessage: _angular_core.InputSignal<string>;
23
+ isTextArea: _angular_core.InputSignal<boolean>;
24
+ textAreaHeight: _angular_core.InputSignal<string>;
25
+ searchMode: _angular_core.InputSignal<boolean>;
26
+ displayValue: _angular_core.InputSignal<string>;
27
+ searchButtonClick: _angular_core.OutputEmitterRef<void>;
28
+ protected readonly getIcon: (name: string) => any;
29
+ inputElement: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
30
+ textareaElement: _angular_core.Signal<ElementRef<HTMLTextAreaElement> | undefined>;
31
+ private _value;
32
+ private _disabledState;
33
+ showPassword: _angular_core.WritableSignal<boolean>;
34
+ hadError: _angular_core.WritableSignal<boolean>;
35
+ private errorTracker;
36
+ displayLabel: _angular_core.Signal<string>;
37
+ private subscribed;
38
+ isDisabled: _angular_core.Signal<boolean>;
39
+ value: _angular_core.Signal<any>;
40
+ actualControl: _angular_core.Signal<FormControl<any> | undefined>;
41
+ shouldShowError: _angular_core.Signal<boolean | undefined>;
42
+ wasFixedError: _angular_core.Signal<boolean | undefined>;
43
+ getErrorMessages: _angular_core.Signal<string[]>;
44
+ effectiveType: _angular_core.Signal<string>;
45
+ private transloco;
46
+ private onChange;
47
+ private onTouched;
48
+ private destroyRef;
49
+ constructor();
50
+ numberValidation(event: KeyboardEvent): void;
51
+ onBlur(): void;
52
+ onCardInput(event: Event): void;
53
+ onInput(event: Event): void;
54
+ togglePasswordVisibility(): void;
55
+ writeValue(value: any): void;
56
+ registerOnChange(fn: any): void;
57
+ registerOnTouched(fn: any): void;
58
+ setDisabledState(isDisabled: boolean): void;
59
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TextFieldComponent, never>;
60
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextFieldComponent, "shk-text-field", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "formatCard": { "alias": "formatCard"; "required": false; "isSignal": true; }; "preventNegative": { "alias": "preventNegative"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "numbersOnly": { "alias": "numbersOnly"; "required": false; "isSignal": true; }; "allowDecimals": { "alias": "allowDecimals"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "errorMessages": { "alias": "errorMessages"; "required": false; "isSignal": true; }; "formGroup": { "alias": "formGroup"; "required": false; "isSignal": true; }; "control": { "alias": "control"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "isTextArea": { "alias": "isTextArea"; "required": false; "isSignal": true; }; "textAreaHeight": { "alias": "textAreaHeight"; "required": false; "isSignal": true; }; "searchMode": { "alias": "searchMode"; "required": false; "isSignal": true; }; "displayValue": { "alias": "displayValue"; "required": false; "isSignal": true; }; }, { "searchButtonClick": "searchButtonClick"; }, never, never, true, never>;
61
+ }
62
+
63
+ interface Notification {
64
+ id: string;
65
+ message: string;
66
+ type: 'success' | 'error' | 'warning' | 'info';
67
+ progress?: number;
68
+ showProgress?: boolean;
69
+ }
70
+ declare class NotificationService {
71
+ private notificationsSignal;
72
+ private currentId;
73
+ notifications: _angular_core.Signal<Notification[]>;
74
+ addNotification(message: string, type?: Notification['type'], showProgress?: boolean, duration?: number): string;
75
+ updateProgress(notificationId: string, progress: number): void;
76
+ removeNotification(notification: Notification): void;
77
+ removeNotificationById(notificationId: string): void;
78
+ clearAll(): void;
79
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationService, never>;
80
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<NotificationService>;
81
+ }
82
+
83
+ type NotificationPosition = 'center-top' | 'right-top' | 'left-top';
84
+ declare class NotificationComponent {
85
+ position: _angular_core.InputSignal<NotificationPosition>;
86
+ private notificationService;
87
+ protected getIcon: (name: string) => any;
88
+ private readonly iconMap;
89
+ getNotificationIcon(type: string): string;
90
+ notifications: _angular_core.Signal<Notification[]>;
91
+ sortedNotifications: _angular_core.Signal<Notification[]>;
92
+ removeNotification(notification: Notification): void;
93
+ roundProgress(progress: number | undefined): number;
94
+ hasNotifications: _angular_core.Signal<boolean>;
95
+ positionClass: _angular_core.Signal<"fixed top-4 z-[9999] space-y-4 sm:space-y-6 sm:top-6 lg:top-8 right-4" | "fixed top-4 z-[9999] space-y-4 sm:space-y-6 sm:top-6 lg:top-8 left-4" | "fixed top-4 z-[9999] space-y-4 sm:space-y-6 sm:top-6 lg:top-8 left-1/2 -translate-x-1/2">;
96
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationComponent, never>;
97
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NotificationComponent, "shk-notification", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
98
+ }
99
+
100
+ declare class ToggleComponent implements ControlValueAccessor {
101
+ label: _angular_core.InputSignal<string>;
102
+ mode: _angular_core.InputSignal<"toggle" | "checkbox">;
103
+ checked: _angular_core.InputSignal<boolean | undefined>;
104
+ checkedChange: _angular_core.OutputEmitterRef<boolean>;
105
+ _value: _angular_core.WritableSignal<boolean>;
106
+ _disabled: _angular_core.WritableSignal<boolean>;
107
+ private onChange;
108
+ private onTouched;
109
+ constructor();
110
+ writeValue(value: any): void;
111
+ registerOnChange(fn: any): void;
112
+ registerOnTouched(fn: any): void;
113
+ setDisabledState(isDisabled: boolean): void;
114
+ toggle(): void;
115
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToggleComponent, never>;
116
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToggleComponent, "shk-toggle", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "checkedChange": "checkedChange"; }, never, never, true, never>;
117
+ }
118
+
119
+ declare class PriceInputComponent {
120
+ value: _angular_core.ModelSignal<number>;
121
+ isPercentage: _angular_core.ModelSignal<boolean>;
122
+ label: _angular_core.InputSignal<string>;
123
+ inputId: _angular_core.InputSignal<string>;
124
+ required: _angular_core.InputSignal<boolean>;
125
+ disabled: _angular_core.InputSignal<boolean>;
126
+ min: _angular_core.InputSignal<number>;
127
+ max: _angular_core.InputSignal<number>;
128
+ showError: _angular_core.InputSignal<boolean>;
129
+ errorMessage: _angular_core.InputSignal<string>;
130
+ toggleMode(): void;
131
+ onInput(event: Event): void;
132
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PriceInputComponent, never>;
133
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PriceInputComponent, "shk-price-input", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "isPercentage": { "alias": "isPercentage"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "showError": { "alias": "showError"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "isPercentage": "isPercentageChange"; }, never, never, true, never>;
134
+ }
135
+
136
+ type DatePickerView = 'date' | 'month' | 'year';
137
+ declare class DatePickerComponent implements ControlValueAccessor {
138
+ private elementRef;
139
+ private cdr;
140
+ private destroyRef;
141
+ private transloco;
142
+ id: _angular_core.InputSignal<string>;
143
+ view: _angular_core.InputSignal<DatePickerView>;
144
+ label: _angular_core.InputSignal<string>;
145
+ placeholder: _angular_core.InputSignal<string>;
146
+ formGroup: _angular_core.InputSignal<FormGroup<any> | undefined>;
147
+ control: _angular_core.InputSignal<FormControl<any> | undefined>;
148
+ disabled: _angular_core.InputSignal<boolean>;
149
+ errorMessage: _angular_core.InputSignal<string>;
150
+ errorMessages: _angular_core.InputSignal<{
151
+ [key: string]: string;
152
+ }>;
153
+ minValue: _angular_core.InputSignal<string>;
154
+ maxValue: _angular_core.InputSignal<string>;
155
+ locale: _angular_core.InputSignal<string>;
156
+ isOpen: _angular_core.WritableSignal<boolean>;
157
+ viewYear: _angular_core.WritableSignal<number>;
158
+ viewMonth: _angular_core.WritableSignal<number>;
159
+ viewDecade: _angular_core.WritableSignal<number>;
160
+ private _value;
161
+ private _disabledState;
162
+ private subscribed;
163
+ private valueSubscribed;
164
+ private errorTracker;
165
+ hadError: _angular_core.WritableSignal<boolean>;
166
+ private onChange;
167
+ private onTouched;
168
+ value: _angular_core.Signal<string | null>;
169
+ isDisabled: _angular_core.Signal<boolean>;
170
+ actualControl: _angular_core.Signal<FormControl<any> | undefined>;
171
+ shouldShowError: _angular_core.Signal<boolean | undefined>;
172
+ wasFixedError: _angular_core.Signal<boolean | undefined>;
173
+ getErrorMessages: _angular_core.Signal<string[]>;
174
+ displayLabel: _angular_core.Signal<string>;
175
+ monthNames: _angular_core.Signal<string[]>;
176
+ dayNames: _angular_core.Signal<string[]>;
177
+ daysInMonth: _angular_core.Signal<number>;
178
+ firstDayOfMonth: _angular_core.Signal<number>;
179
+ calendarDays: _angular_core.Signal<(number | null)[]>;
180
+ canGoPrev: _angular_core.Signal<boolean>;
181
+ canGoNext: _angular_core.Signal<boolean>;
182
+ selectedYear: _angular_core.Signal<number | null>;
183
+ selectedMonth: _angular_core.Signal<number | null>;
184
+ selectedDay: _angular_core.Signal<number | null>;
185
+ decadeYears: _angular_core.Signal<number[]>;
186
+ years: number[];
187
+ constructor();
188
+ onDocumentClick(event: MouseEvent): void;
189
+ onEscape(): void;
190
+ toggle(): void;
191
+ private syncViewToValue;
192
+ close(): void;
193
+ prev(): void;
194
+ next(): void;
195
+ selectDay(day: number): void;
196
+ selectMonth(monthIndex: number): void;
197
+ selectYear(year: number): void;
198
+ private setValue;
199
+ isSelectedDay(day: number): boolean;
200
+ isToday(day: number): boolean;
201
+ isSelectedMonth(monthIndex: number): boolean;
202
+ isCurrentMonth(monthIndex: number): boolean;
203
+ isSelectedYear(year: number): boolean;
204
+ isCurrentYear(year: number): boolean;
205
+ writeValue(value: any): void;
206
+ registerOnChange(fn: any): void;
207
+ registerOnTouched(fn: any): void;
208
+ setDisabledState(isDisabled: boolean): void;
209
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatePickerComponent, never>;
210
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatePickerComponent, "shk-date-picker", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "view": { "alias": "view"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "formGroup": { "alias": "formGroup"; "required": false; "isSignal": true; }; "control": { "alias": "control"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "errorMessages": { "alias": "errorMessages"; "required": false; "isSignal": true; }; "minValue": { "alias": "minValue"; "required": false; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
211
+ }
212
+
213
+ declare class ConfirmDialogComponent implements OnDestroy {
214
+ protected getIcon: (name: string) => any;
215
+ title: _angular_core.InputSignal<string>;
216
+ message: _angular_core.InputSignal<string>;
217
+ confirmLabel: _angular_core.InputSignal<string>;
218
+ cancelLabel: _angular_core.InputSignal<string>;
219
+ loadingText: _angular_core.InputSignal<string>;
220
+ type: _angular_core.InputSignal<"warning" | "info" | "danger">;
221
+ loading: _angular_core.InputSignal<boolean>;
222
+ showCancel: _angular_core.InputSignal<boolean>;
223
+ visible: _angular_core.WritableSignal<boolean>;
224
+ private resolveRef;
225
+ closed: _angular_core.OutputEmitterRef<void>;
226
+ show(): Promise<boolean>;
227
+ onConfirm(): void;
228
+ onCancel(): void;
229
+ ngOnDestroy(): void;
230
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConfirmDialogComponent, never>;
231
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConfirmDialogComponent, "shk-confirm-dialog", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "confirmLabel": { "alias": "confirmLabel"; "required": false; "isSignal": true; }; "cancelLabel": { "alias": "cancelLabel"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "showCancel": { "alias": "showCancel"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, never, true, never>;
232
+ }
233
+
234
+ interface ConfirmConfig {
235
+ title?: string;
236
+ message: string;
237
+ confirmLabel?: string;
238
+ cancelLabel?: string;
239
+ loadingText?: string;
240
+ type?: 'danger' | 'info' | 'warning';
241
+ showCancel?: boolean;
242
+ loading?: boolean;
243
+ }
244
+ declare class ConfirmDialogService {
245
+ private dialogRef;
246
+ private destroyRef;
247
+ private appRef;
248
+ private injector;
249
+ constructor();
250
+ confirm(config: ConfirmConfig): Promise<boolean>;
251
+ private cleanupDialog;
252
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConfirmDialogService, never>;
253
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ConfirmDialogService>;
254
+ }
255
+
256
+ interface ModalConfig {
257
+ title: string;
258
+ component: Type<any>;
259
+ data?: Record<string, any>;
260
+ width?: string;
261
+ showButtons?: boolean;
262
+ showExpandButton?: boolean;
263
+ acceptLabel?: string;
264
+ cancelLabel?: string;
265
+ onClose?: () => void;
266
+ }
267
+ declare class ModalService {
268
+ private stackSignal;
269
+ private closeRequestSignal;
270
+ private router;
271
+ private destroyRef;
272
+ constructor();
273
+ modalStack: _angular_core.Signal<ModalConfig[]>;
274
+ currentModal: _angular_core.Signal<ModalConfig | null>;
275
+ closeRequest: _angular_core.Signal<number>;
276
+ open(config: ModalConfig): void;
277
+ accept(): void;
278
+ close(): void;
279
+ clear(): void;
280
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModalService, never>;
281
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ModalService>;
282
+ }
283
+
284
+ declare class ModalComponent {
285
+ protected getIcon: (name: string) => any;
286
+ private notificationSrv;
287
+ private destroyRef;
288
+ private modalSrv;
289
+ private transloco;
290
+ container: _angular_core.Signal<ViewContainerRef | undefined>;
291
+ currentConfig: _angular_core.WritableSignal<ModalConfig | null>;
292
+ title: _angular_core.WritableSignal<string>;
293
+ visible: _angular_core.WritableSignal<boolean>;
294
+ loading: _angular_core.WritableSignal<boolean>;
295
+ isProcessing: _angular_core.WritableSignal<boolean>;
296
+ isExpanded: _angular_core.WritableSignal<boolean>;
297
+ isFormValid: _angular_core.WritableSignal<boolean>;
298
+ componentRef: ComponentRef<any> | null;
299
+ private subscriptions;
300
+ computedModalWidth: _angular_core.Signal<string>;
301
+ modalButtonsVisible: _angular_core.Signal<boolean>;
302
+ showExpandButton: _angular_core.Signal<boolean>;
303
+ cancelLabel: _angular_core.Signal<string>;
304
+ acceptLabel: _angular_core.Signal<string>;
305
+ constructor();
306
+ onVisibleChange(show: boolean): void;
307
+ private loadComponent;
308
+ private subscribeToOutput;
309
+ private handleSubmit;
310
+ closeModal(): void;
311
+ doClose(): void;
312
+ toggleExpand(): void;
313
+ onAccept(): void;
314
+ private getForm;
315
+ private hasRealErrors;
316
+ private markAllAsTouched;
317
+ private isDynamicComponent;
318
+ private cleanup;
319
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModalComponent, never>;
320
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModalComponent, "shk-modal", never, {}, {}, never, never, true, never>;
321
+ }
322
+
323
+ interface SelectOption {
324
+ label: string;
325
+ value: any;
326
+ custom?: boolean;
327
+ }
328
+ declare class SelectComponent implements ControlValueAccessor {
329
+ private elementRef;
330
+ protected getIcon: (name: string) => any;
331
+ options: _angular_core.InputSignal<SelectOption[]>;
332
+ multiple: _angular_core.InputSignal<boolean>;
333
+ validCombinations: _angular_core.InputSignal<string[][] | undefined>;
334
+ placeholder: _angular_core.InputSignal<string>;
335
+ label: _angular_core.InputSignal<string | undefined>;
336
+ isLoading: _angular_core.InputSignal<boolean>;
337
+ isAllDataLoaded: _angular_core.InputSignal<boolean>;
338
+ allowCustomEntries: _angular_core.InputSignal<boolean>;
339
+ formGroup: _angular_core.InputSignal<FormGroup<any> | undefined>;
340
+ isSearchable: _angular_core.InputSignal<boolean>;
341
+ itemsPerPage: _angular_core.InputSignal<number>;
342
+ control: _angular_core.InputSignal<FormControl<any> | undefined>;
343
+ usePagination: _angular_core.InputSignal<boolean>;
344
+ disabled: _angular_core.InputSignal<boolean>;
345
+ errorMessages: _angular_core.InputSignal<{
346
+ [key: string]: string;
347
+ }>;
348
+ preserveSearchOnLoad: _angular_core.InputSignal<boolean>;
349
+ emptyMessageKey: _angular_core.InputSignal<string>;
350
+ dropdownUpward: _angular_core.InputSignal<boolean>;
351
+ showEmptyOption: _angular_core.InputSignal<boolean>;
352
+ selectionChange: _angular_core.OutputEmitterRef<any>;
353
+ search: _angular_core.OutputEmitterRef<string>;
354
+ filterInput: _angular_core.Signal<ElementRef<any> | undefined>;
355
+ private selectContainer;
356
+ private selectTrigger;
357
+ private dropdownContainer;
358
+ private _value;
359
+ isOpen: _angular_core.WritableSignal<boolean>;
360
+ focusedIndex: _angular_core.WritableSignal<number>;
361
+ searchTerm: _angular_core.WritableSignal<string>;
362
+ currentPage: _angular_core.WritableSignal<number>;
363
+ private searchTermChanged;
364
+ private _isDisabled;
365
+ private debounceTimer;
366
+ private errorTracker;
367
+ hadError: _angular_core.WritableSignal<boolean>;
368
+ private subscribed;
369
+ private valueSubscribed;
370
+ value: _angular_core.Signal<any>;
371
+ isDisabled: _angular_core.Signal<boolean>;
372
+ actualControl: _angular_core.Signal<FormControl<any> | undefined>;
373
+ shouldShowError: _angular_core.Signal<boolean | undefined>;
374
+ wasFixedError: _angular_core.Signal<boolean | undefined>;
375
+ displayValue: _angular_core.Signal<any>;
376
+ getErrorMessages: _angular_core.Signal<string[]>;
377
+ filteredOptions: _angular_core.Signal<SelectOption[]>;
378
+ paginatedOptions: _angular_core.Signal<SelectOption[]>;
379
+ regularOptions: _angular_core.Signal<SelectOption[]>;
380
+ totalPages: _angular_core.Signal<number>;
381
+ hasSelectedValues: _angular_core.Signal<any>;
382
+ showCustomOption: _angular_core.Signal<boolean>;
383
+ private transloco;
384
+ private onChange;
385
+ private onTouched;
386
+ private destroyRef;
387
+ constructor(elementRef: ElementRef);
388
+ setDisabledState(isDisabled: boolean): void;
389
+ private markAsTouchedAndUpdate;
390
+ normalizeText(text: string): string;
391
+ onKeydown(event: KeyboardEvent): void;
392
+ handleKeyDown(event: KeyboardEvent): void;
393
+ private moveFocus;
394
+ private getSelectedIndex;
395
+ isOptionDisabled(option: SelectOption): boolean;
396
+ isSelected(option: SelectOption): boolean;
397
+ nextPage(): void;
398
+ previousPage(): void;
399
+ onClickOutside(event: MouseEvent): void;
400
+ onCustomOptionClick(): void;
401
+ onInputChange(event: Event): void;
402
+ onOptionClick(option: SelectOption): void;
403
+ selectOption(option: SelectOption): void;
404
+ toggleOption(option: SelectOption): void;
405
+ toggleDropdown(): void;
406
+ trackByFn(index: number, option: SelectOption): any;
407
+ writeValue(value: any): void;
408
+ registerOnChange(fn: any): void;
409
+ registerOnTouched(fn: any): void;
410
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectComponent, never>;
411
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectComponent, "shk-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "validCombinations": { "alias": "validCombinations"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isAllDataLoaded": { "alias": "isAllDataLoaded"; "required": false; "isSignal": true; }; "allowCustomEntries": { "alias": "allowCustomEntries"; "required": false; "isSignal": true; }; "formGroup": { "alias": "formGroup"; "required": false; "isSignal": true; }; "isSearchable": { "alias": "isSearchable"; "required": false; "isSignal": true; }; "itemsPerPage": { "alias": "itemsPerPage"; "required": false; "isSignal": true; }; "control": { "alias": "control"; "required": false; "isSignal": true; }; "usePagination": { "alias": "usePagination"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "errorMessages": { "alias": "errorMessages"; "required": false; "isSignal": true; }; "preserveSearchOnLoad": { "alias": "preserveSearchOnLoad"; "required": false; "isSignal": true; }; "emptyMessageKey": { "alias": "emptyMessageKey"; "required": false; "isSignal": true; }; "dropdownUpward": { "alias": "dropdownUpward"; "required": false; "isSignal": true; }; "showEmptyOption": { "alias": "showEmptyOption"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "search": "search"; }, never, never, true, never>;
412
+ }
413
+
414
+ interface FileUploadError {
415
+ type: 'size' | 'type';
416
+ message: string;
417
+ file: File;
418
+ }
419
+ declare class FileUploadComponent {
420
+ protected getIcon: (name: string) => any;
421
+ private transloco;
422
+ label: _angular_core.InputSignal<string>;
423
+ accept: _angular_core.InputSignal<string>;
424
+ maxFileSize: _angular_core.InputSignal<number>;
425
+ maxFiles: _angular_core.InputSignal<number>;
426
+ fileUploadText: _angular_core.InputSignal<string>;
427
+ fileRecommendation: _angular_core.InputSignal<string>;
428
+ changeFilesText: _angular_core.InputSignal<string>;
429
+ multiple: _angular_core.InputSignal<boolean>;
430
+ fileSelected: _angular_core.OutputEmitterRef<File[]>;
431
+ fileRemoved: _angular_core.OutputEmitterRef<void>;
432
+ fileError: _angular_core.OutputEmitterRef<FileUploadError>;
433
+ fileWarning: _angular_core.OutputEmitterRef<FileUploadError>;
434
+ selectedFiles: _angular_core.WritableSignal<File[]>;
435
+ errorMessage: _angular_core.WritableSignal<string>;
436
+ isDragOver: _angular_core.WritableSignal<boolean>;
437
+ private previewUrls;
438
+ canAddMore: _angular_core.Signal<boolean>;
439
+ maxReached: _angular_core.Signal<boolean>;
440
+ isImageFile(file: File): boolean;
441
+ previewUrl(file: File): string;
442
+ onDragOver(event: DragEvent): void;
443
+ onDragLeave(event: DragEvent): void;
444
+ onDrop(event: DragEvent): void;
445
+ onFileChange(event: Event): void;
446
+ private processFiles;
447
+ private validateFile;
448
+ private checkSizeWarning;
449
+ removeFile(file: File): void;
450
+ changeFiles(): void;
451
+ private clearPreviews;
452
+ private formatFileSize;
453
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileUploadComponent, never>;
454
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileUploadComponent, "shk-file-upload", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; "isSignal": true; }; "maxFiles": { "alias": "maxFiles"; "required": false; "isSignal": true; }; "fileUploadText": { "alias": "fileUploadText"; "required": false; "isSignal": true; }; "fileRecommendation": { "alias": "fileRecommendation"; "required": false; "isSignal": true; }; "changeFilesText": { "alias": "changeFilesText"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; }, { "fileSelected": "fileSelected"; "fileRemoved": "fileRemoved"; "fileError": "fileError"; "fileWarning": "fileWarning"; }, never, never, true, never>;
455
+ }
456
+
457
+ declare function getIcon(name: string): any;
458
+ interface Column {
459
+ field: string;
460
+ header: string;
461
+ sortable?: boolean;
462
+ filter?: boolean;
463
+ filterPlaceholder?: string;
464
+ width?: string;
465
+ defaultSort?: true;
466
+ filterType?: 'text' | 'exact' | 'select';
467
+ filterOptions?: {
468
+ label: string;
469
+ value: any;
470
+ }[];
471
+ template?: 'text' | 'tag';
472
+ format?: (row: any) => string;
473
+ tagValue?: (row: any) => string;
474
+ tagSeverity?: (row: any) => 'success' | 'danger' | 'warn' | 'info' | undefined;
475
+ tagStyle?: (row: any) => {
476
+ [key: string]: string;
477
+ } | undefined;
478
+ }
479
+ interface TableAction {
480
+ label: string;
481
+ icon: string;
482
+ onClick: () => void;
483
+ class?: string;
484
+ isVisible?: () => boolean;
485
+ isDisabled?: () => boolean;
486
+ }
487
+ interface RowAction {
488
+ label: string | ((data: any) => string);
489
+ icon: string | ((data: any) => string);
490
+ onClick: (rowData: any) => void;
491
+ class?: string | ((data: any) => string);
492
+ isVisible?: (rowData: any) => boolean;
493
+ isDisabled?: (rowData: any) => boolean;
494
+ }
495
+ interface PageChangeEvent {
496
+ first: number;
497
+ rows: number;
498
+ page: number;
499
+ pageCount: number;
500
+ }
501
+ interface FilterChangeEvent {
502
+ filters: {
503
+ [key: string]: any;
504
+ };
505
+ }
506
+ declare class TableComponent {
507
+ private fb;
508
+ private cdr;
509
+ private transloco;
510
+ protected getIcon: typeof getIcon;
511
+ private actionsHeaderLabel;
512
+ data: _angular_core.InputSignal<any[]>;
513
+ columns: _angular_core.InputSignal<Column[]>;
514
+ rowsPerPage: _angular_core.InputSignal<number>;
515
+ rowsPerPageOptions: _angular_core.InputSignal<number[]>;
516
+ loading: _angular_core.InputSignal<boolean>;
517
+ showActionRow: _angular_core.InputSignal<boolean>;
518
+ customTemplates: _angular_core.InputSignal<{
519
+ [key: string]: any;
520
+ }>;
521
+ headerActions: _angular_core.InputSignal<TableAction[]>;
522
+ rowActions: _angular_core.InputSignal<RowAction[]>;
523
+ hasShadow: _angular_core.InputSignal<boolean>;
524
+ defaultSortField: _angular_core.InputSignal<string>;
525
+ defaultSortOrder: _angular_core.InputSignal<number>;
526
+ showSearch: _angular_core.InputSignal<boolean>;
527
+ searchPlaceholder: _angular_core.InputSignal<string>;
528
+ emptyMessage: _angular_core.InputSignal<string>;
529
+ serverSide: _angular_core.InputSignal<boolean>;
530
+ totalRecords: _angular_core.InputSignal<number>;
531
+ filters: _angular_core.InputSignal<{
532
+ label: string;
533
+ value: string;
534
+ }[]>;
535
+ activeFilter: _angular_core.InputSignal<string>;
536
+ refresh: _angular_core.OutputEmitterRef<void>;
537
+ pageChange: _angular_core.OutputEmitterRef<PageChangeEvent>;
538
+ filterChange: _angular_core.OutputEmitterRef<FilterChangeEvent>;
539
+ searchChange: _angular_core.OutputEmitterRef<string>;
540
+ filterClick: _angular_core.OutputEmitterRef<string>;
541
+ private originalData;
542
+ searchedData: _angular_core.WritableSignal<any[]>;
543
+ filteredData: _angular_core.WritableSignal<any[]>;
544
+ displayedData: _angular_core.WritableSignal<any[]>;
545
+ localTotalRecords: _angular_core.WritableSignal<number>;
546
+ first: _angular_core.WritableSignal<number>;
547
+ showFilterInput: _angular_core.WritableSignal<{
548
+ [key: string]: boolean;
549
+ }>;
550
+ searchQuery: _angular_core.WritableSignal<string>;
551
+ sortField: _angular_core.WritableSignal<string>;
552
+ sortOrder: _angular_core.WritableSignal<number>;
553
+ rowsPerPageLocal: _angular_core.WritableSignal<number>;
554
+ totalPages: _angular_core.Signal<number>;
555
+ currentPage: _angular_core.Signal<number>;
556
+ columnFiltersForm: FormGroup;
557
+ private filterSubject;
558
+ columnsWithActions: _angular_core.Signal<Column[]>;
559
+ effectiveTotalRecords: _angular_core.Signal<number>;
560
+ effectiveDisplayedData: _angular_core.Signal<any[]>;
561
+ activeFilters: _angular_core.Signal<{
562
+ [key: string]: any;
563
+ }>;
564
+ constructor();
565
+ private setupColumnFilters;
566
+ private emitFilterChange;
567
+ private applySearch;
568
+ private applyFilters;
569
+ private applyColumnFilters;
570
+ private updateDisplayedData;
571
+ onFilterClick(value: string): void;
572
+ toggleSort(field: string): void;
573
+ private applySort;
574
+ onSearchInput(value: string): void;
575
+ clearFilter(field: string): void;
576
+ toggleFilter(field: string): void;
577
+ getPageReport(): string;
578
+ goToFirst(): void;
579
+ goToLast(): void;
580
+ onRowsPerPageChange(rows: number): void;
581
+ refreshData(): void;
582
+ isFirstPage(): boolean;
583
+ isLastPage(): boolean;
584
+ next(): void;
585
+ prev(): void;
586
+ reset(): void;
587
+ getRowActionLabel(action: RowAction, rowData: any): string;
588
+ getRowActionIconName(action: RowAction, rowData: any): string;
589
+ getRowActionClass(action: RowAction, rowData: any): string;
590
+ isHeaderActionDisabled(action: TableAction): boolean;
591
+ isHeaderActionVisible(action: TableAction): boolean;
592
+ isRowActionDisabled(action: RowAction, rowData: any): boolean;
593
+ isRowActionVisible(action: RowAction, rowData: any): boolean;
594
+ truncate(value: any, limit?: number): string;
595
+ getTagClass(severity?: string): string;
596
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableComponent, never>;
597
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent, "shk-table", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "rowsPerPage": { "alias": "rowsPerPage"; "required": false; "isSignal": true; }; "rowsPerPageOptions": { "alias": "rowsPerPageOptions"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "showActionRow": { "alias": "showActionRow"; "required": false; "isSignal": true; }; "customTemplates": { "alias": "customTemplates"; "required": false; "isSignal": true; }; "headerActions": { "alias": "headerActions"; "required": false; "isSignal": true; }; "rowActions": { "alias": "rowActions"; "required": false; "isSignal": true; }; "hasShadow": { "alias": "hasShadow"; "required": false; "isSignal": true; }; "defaultSortField": { "alias": "defaultSortField"; "required": false; "isSignal": true; }; "defaultSortOrder": { "alias": "defaultSortOrder"; "required": false; "isSignal": true; }; "showSearch": { "alias": "showSearch"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "serverSide": { "alias": "serverSide"; "required": false; "isSignal": true; }; "totalRecords": { "alias": "totalRecords"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "activeFilter": { "alias": "activeFilter"; "required": false; "isSignal": true; }; }, { "refresh": "refresh"; "pageChange": "pageChange"; "filterChange": "filterChange"; "searchChange": "searchChange"; "filterClick": "filterClick"; }, never, never, true, never>;
598
+ }
599
+
600
+ declare class TooltipComponent {
601
+ readonly text: _angular_core.InputSignal<string>;
602
+ readonly position: _angular_core.InputSignal<"top" | "bottom" | "right">;
603
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TooltipComponent, never>;
604
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TooltipComponent, "shk-tooltip", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
605
+ }
606
+
607
+ export { ConfirmDialogComponent, ConfirmDialogService, DatePickerComponent, FileUploadComponent, ModalComponent, ModalService, NotificationComponent, NotificationService, PriceInputComponent, SelectComponent, TableComponent, TextFieldComponent, ToggleComponent, TooltipComponent };
608
+ export type { Column, ConfirmConfig, DatePickerView, FileUploadError, FilterChangeEvent, ModalConfig, Notification, NotificationPosition, PageChangeEvent, RowAction, TableAction };