@ibragim-dev-org/ui-forge-library 1.0.8

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,927 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InputSignal, ElementRef, OnInit, OnDestroy, EventEmitter, AfterViewInit, DestroyRef, Renderer2, OnChanges, DoCheck, AfterContentInit, AfterContentChecked, AfterViewChecked, SimpleChanges, PipeTransform, ModelSignal, WritableSignal, Signal, OutputEmitterRef, Injector, Type, TemplateRef } from '@angular/core';
3
+ import { DomSanitizer } from '@angular/platform-browser';
4
+ import { NavigationStart, NavigationEnd, NavigationCancel, NavigationError, RoutesRecognized, GuardsCheckStart, GuardsCheckEnd, RouteConfigLoadStart, RouteConfigLoadEnd, ChildActivationStart, ChildActivationEnd, ActivationStart, ActivationEnd, Scroll, ResolveStart, ResolveEnd, NavigationSkipped, Router } from '@angular/router';
5
+ import { ComponentType, Overlay, OverlayRef } from '@angular/cdk/overlay';
6
+ import { ComponentType as ComponentType$1 } from '@angular/cdk/portal';
7
+ import { BehaviorSubject, Observable, Subject } from 'rxjs';
8
+ import { WithOptionalField, ValidationError, FormValueControl, FormCheckboxControl } from '@angular/forms/signals';
9
+
10
+ declare class DateUtils {
11
+ static parse(value: string, isUsaDateFormat?: boolean): Date | null;
12
+ static format(date: Date, isUsaDateFormat?: boolean): string;
13
+ static isUsaDateFormat(): boolean;
14
+ static setMonthSafe(date: Date, month: number): Date;
15
+ }
16
+
17
+ declare class AutoFocusDirective {
18
+ private el;
19
+ $shouldFocus: InputSignal<boolean>;
20
+ constructor(el: ElementRef<HTMLInputElement>);
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<AutoFocusDirective, never>;
22
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AutoFocusDirective, "[appAutoFocus]", never, { "$shouldFocus": { "alias": "$shouldFocus"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
23
+ }
24
+
25
+ declare class LazyImageService {
26
+ private observer?;
27
+ getObserver(): IntersectionObserver;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<LazyImageService, never>;
29
+ static ɵprov: i0.ɵɵInjectableDeclaration<LazyImageService>;
30
+ }
31
+
32
+ declare class LazyImgDirective implements OnInit, OnDestroy {
33
+ private readonly el;
34
+ private readonly lazyService;
35
+ lazySrc: string;
36
+ loadError: EventEmitter<void>;
37
+ private observer;
38
+ constructor(el: ElementRef<HTMLImageElement>, lazyService: LazyImageService);
39
+ private onError;
40
+ ngOnInit(): void;
41
+ ngOnDestroy(): void;
42
+ static ɵfac: i0.ɵɵFactoryDeclaration<LazyImgDirective, never>;
43
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LazyImgDirective, "img[lazySrc]", never, { "lazySrc": { "alias": "lazySrc"; "required": false; }; }, { "loadError": "loadError"; }, never, never, true, never>;
44
+ }
45
+
46
+ declare class MaskGradientDirective implements AfterViewInit {
47
+ private readonly elementRef;
48
+ private readonly destroyRef;
49
+ private readonly renderer;
50
+ private platformId;
51
+ id: InputSignal<string>;
52
+ constructor(elementRef: ElementRef<HTMLElement>, destroyRef: DestroyRef, renderer: Renderer2, platformId: object);
53
+ ngAfterViewInit(): void;
54
+ private setGradient;
55
+ static ɵfac: i0.ɵɵFactoryDeclaration<MaskGradientDirective, never>;
56
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MaskGradientDirective, "[markGradientDirective]", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
57
+ }
58
+
59
+ declare class TrackLifecycleDirective implements OnInit, OnChanges, DoCheck, AfterContentInit, AfterContentChecked, AfterViewInit, AfterViewChecked, OnDestroy {
60
+ onConstructed: EventEmitter<void>;
61
+ onChanges: EventEmitter<SimpleChanges>;
62
+ onInit: EventEmitter<void>;
63
+ onDoCheck: EventEmitter<void>;
64
+ onAfterContentInit: EventEmitter<void>;
65
+ onAfterContentChecked: EventEmitter<void>;
66
+ onAfterViewInit: EventEmitter<void>;
67
+ onAfterViewChecked: EventEmitter<void>;
68
+ onDestroy: EventEmitter<void>;
69
+ constructor();
70
+ ngOnChanges(changes: SimpleChanges): void;
71
+ ngOnInit(): void;
72
+ ngDoCheck(): void;
73
+ ngAfterContentInit(): void;
74
+ ngAfterContentChecked(): void;
75
+ ngAfterViewInit(): void;
76
+ ngAfterViewChecked(): void;
77
+ ngOnDestroy(): void;
78
+ static ɵfac: i0.ɵɵFactoryDeclaration<TrackLifecycleDirective, never>;
79
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TrackLifecycleDirective, "[trackLifecycle]", never, {}, { "onConstructed": "onConstructed"; "onChanges": "onChanges"; "onInit": "onInit"; "onDoCheck": "onDoCheck"; "onAfterContentInit": "onAfterContentInit"; "onAfterContentChecked": "onAfterContentChecked"; "onAfterViewInit": "onAfterViewInit"; "onAfterViewChecked": "onAfterViewChecked"; "onDestroy": "onDestroy"; }, never, never, true, never>;
80
+ }
81
+
82
+ declare class StickyObserverDirective implements AfterViewInit, OnDestroy {
83
+ protected readonly elementRef: ElementRef<HTMLElement>;
84
+ protected readonly renderer: Renderer2;
85
+ private observer;
86
+ private sentinel;
87
+ constructor(elementRef: ElementRef<HTMLElement>, renderer: Renderer2);
88
+ ngAfterViewInit(): void;
89
+ ngOnDestroy(): void;
90
+ static ɵfac: i0.ɵɵFactoryDeclaration<StickyObserverDirective, never>;
91
+ static ɵdir: i0.ɵɵDirectiveDeclaration<StickyObserverDirective, "[appStickyObserver]", never, {}, {}, never, never, true, never>;
92
+ }
93
+
94
+ declare class CenterEllipsisPipe implements PipeTransform {
95
+ transform(value: string, visibleStart?: number, visibleEnd?: number): string;
96
+ static ɵfac: i0.ɵɵFactoryDeclaration<CenterEllipsisPipe, never>;
97
+ static ɵpipe: i0.ɵɵPipeDeclaration<CenterEllipsisPipe, "centerEllipsis", true>;
98
+ }
99
+
100
+ declare function getAspectRatioFit(maxWidth: number, maxHeight: number, srcWidth?: number | null, srcHeight?: number | null): {
101
+ width: number;
102
+ height: number;
103
+ };
104
+
105
+ declare function stringToHslColor(string: string, saturation?: number, lightness?: number): string;
106
+
107
+ type AppIconName = string;
108
+ declare type Nominal<T, Name extends string> = T & {
109
+ [Symbol.species]: Name;
110
+ };
111
+ type RawSVG = Nominal<string, 'RawSVG'>;
112
+ interface AppIcon {
113
+ svgData: RawSVG;
114
+ name: AppIconName;
115
+ }
116
+
117
+ declare class AppIconsLibrary {
118
+ private icons;
119
+ addIcon(icon: RawSVG, name: AppIconName): void;
120
+ getIcon(name: AppIconName): AppIcon | undefined;
121
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppIconsLibrary, never>;
122
+ static ɵprov: i0.ɵɵInjectableDeclaration<AppIconsLibrary>;
123
+ }
124
+
125
+ declare class IconComponent {
126
+ elementRef: ElementRef<HTMLElement>;
127
+ private icons;
128
+ private renderer;
129
+ private sanitizer;
130
+ noScaling: string;
131
+ strokeDiff: string;
132
+ set icon(i: AppIconName | AppIcon | undefined);
133
+ private iconApp;
134
+ constructor(elementRef: ElementRef<HTMLElement>, icons: AppIconsLibrary, renderer: Renderer2, sanitizer: DomSanitizer, noScaling: string, strokeDiff: string);
135
+ private updateIcon;
136
+ private adjustStrokeWidth;
137
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconComponent, [null, null, null, null, { attribute: "no-scaling"; }, { attribute: "stroke-diff"; }]>;
138
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconComponent, "app-icon", never, { "icon": { "alias": "icon"; "required": true; }; }, {}, never, never, true, never>;
139
+ }
140
+
141
+ declare const HAS_NUMBER: RegExp;
142
+ declare const HAS_CAPITAL_CASE: RegExp;
143
+ declare const HAS_SMALL_CASE: RegExp;
144
+ declare const HAS_SPECIAL_CHARTERS: RegExp;
145
+ declare const MIN_LENGTH: RegExp;
146
+ declare const EMAIL: RegExp;
147
+
148
+ interface CountryData {
149
+ code: string;
150
+ name: string;
151
+ iso: string;
152
+ phonePrefix: string;
153
+ }
154
+ declare const emptyCountry: CountryData;
155
+ declare class CountryService {
156
+ private static readonly phoneUtil;
157
+ private static readonly flagOverrides;
158
+ private static readonly supportedRegions;
159
+ private static readonly regionNames;
160
+ private static readonly allCountries;
161
+ static readonly countries: CountryData[];
162
+ static formatPhoneNumber(raw: string, countryCode: string): string;
163
+ static getCountryByCode(code: string): CountryData | undefined;
164
+ }
165
+
166
+ /**
167
+ * ThemeService<T>
168
+ * A generic, type-safe service for managing and applying color themes.
169
+ *
170
+ * @template T - The shape of a theme object, typically defined by a shared interface.
171
+ */
172
+ declare class ThemeService<T extends object, K extends string> {
173
+ private document;
174
+ private themes;
175
+ private activeTheme;
176
+ constructor(document: Document);
177
+ /**
178
+ * Initializes the theme system with a map of named themes and sets the active theme.
179
+ *
180
+ * @param themes - A record of theme names mapped to theme objects
181
+ * @param activeTheme - The name of the theme to activate initially
182
+ */
183
+ init(themes: Record<K, T>, activeTheme: K): void;
184
+ /**
185
+ * Returns the name of the currently active theme.
186
+ *
187
+ * @returns The active theme name
188
+ */
189
+ getActive(): K;
190
+ /**
191
+ * Sets a new active theme by name and applies its styles.
192
+ *
193
+ * @param name - The name of the theme to activate
194
+ */
195
+ set(name: K): void;
196
+ /**
197
+ * Applies the current theme's styles to the document body using CSS variables.
198
+ */
199
+ private update;
200
+ static ɵfac: i0.ɵɵFactoryDeclaration<ThemeService<any, any>, never>;
201
+ static ɵprov: i0.ɵɵInjectableDeclaration<ThemeService<any, any>>;
202
+ }
203
+
204
+ type NavigationEvent = NavigationStart | NavigationEnd | NavigationCancel | NavigationError | RoutesRecognized | GuardsCheckStart | GuardsCheckEnd | RouteConfigLoadStart | RouteConfigLoadEnd | ChildActivationStart | ChildActivationEnd | ActivationStart | ActivationEnd | Scroll | ResolveStart | ResolveEnd | NavigationSkipped;
205
+
206
+ declare class UiAccordionComponent implements AfterViewInit {
207
+ private readonly destroyRef;
208
+ private readonly platformId;
209
+ readonly $isOpen: ModelSignal<boolean>;
210
+ readonly $durationMs: InputSignal<number>;
211
+ protected readonly $contentHeight: WritableSignal<string>;
212
+ protected readonly $transition: Signal<string>;
213
+ protected readonly $overflow: WritableSignal<'visible' | 'hidden'>;
214
+ private readonly $content;
215
+ private resizeDebounceTimer;
216
+ constructor(destroyRef: DestroyRef, platformId: object);
217
+ ngAfterViewInit(): void;
218
+ private setSize;
219
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiAccordionComponent, never>;
220
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiAccordionComponent, "app-ui-accordion", never, { "$isOpen": { "alias": "$isOpen"; "required": false; "isSignal": true; }; "$durationMs": { "alias": "$durationMs"; "required": false; "isSignal": true; }; }, { "$isOpen": "$isOpenChange"; }, never, ["[button]", "[content]"], true, never>;
221
+ }
222
+
223
+ declare enum AlertType {
224
+ SUCCESS = "success",
225
+ ERROR = "error",
226
+ INFO = "information",
227
+ WARNING = "warning",
228
+ CUSTOM = "custom"
229
+ }
230
+ declare class Alert {
231
+ id: string;
232
+ type: string;
233
+ title: string;
234
+ message: string;
235
+ icon: string;
236
+ component?: ComponentType<unknown>;
237
+ componentInputs?: {
238
+ [P in keyof ComponentType<unknown>]?: ComponentType<unknown>[P];
239
+ };
240
+ constructor(init?: Partial<Alert>);
241
+ }
242
+ interface AlertParams {
243
+ title?: string;
244
+ message: string;
245
+ }
246
+
247
+ declare class UiAlertMessagesService {
248
+ private readonly overlay;
249
+ private router;
250
+ readonly $alerts: WritableSignal<Alert[]>;
251
+ private overlayRef?;
252
+ private component;
253
+ constructor(overlay: Overlay, router: Router);
254
+ success(params: AlertParams): void;
255
+ error(params: AlertParams): void;
256
+ information(params: AlertParams): void;
257
+ warning(params: AlertParams): void;
258
+ remove(alert: Alert): void;
259
+ removeAll(): void;
260
+ init(component: ComponentType$1<unknown>): void;
261
+ protected open(alert: Alert): void;
262
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiAlertMessagesService, never>;
263
+ static ɵprov: i0.ɵɵInjectableDeclaration<UiAlertMessagesService>;
264
+ }
265
+
266
+ type AvatarStyles = 'small' | 'medium' | 'large' | 'rounded';
267
+ declare abstract class UiAvatarDirective {
268
+ readonly $class: InputSignal<AvatarStyles[]>;
269
+ readonly $src: InputSignal<string>;
270
+ readonly $acronym: InputSignal<string>;
271
+ protected readonly $backgroundColor: WritableSignal<string>;
272
+ protected readonly $textColor: WritableSignal<string>;
273
+ protected readonly $text: WritableSignal<string>;
274
+ protected readonly $canShowAvatar: WritableSignal<boolean>;
275
+ constructor();
276
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiAvatarDirective, never>;
277
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiAvatarDirective, "app-ui-avatar", never, { "$class": { "alias": "$class"; "required": true; "isSignal": true; }; "$src": { "alias": "$src"; "required": true; "isSignal": true; }; "$acronym": { "alias": "$acronym"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
278
+ }
279
+
280
+ interface CalendarDay {
281
+ date: Date;
282
+ isSelected: boolean;
283
+ isStart?: boolean;
284
+ isEnd?: boolean;
285
+ inRange?: boolean;
286
+ inCurrentMonth: boolean;
287
+ inHoverRange: boolean;
288
+ }
289
+ interface CalendarMonthItem {
290
+ index: number;
291
+ name: string;
292
+ short: string;
293
+ date: Date;
294
+ isSelected: boolean;
295
+ }
296
+ interface CalendarYearItem {
297
+ year: number;
298
+ date: Date;
299
+ isSelected: boolean;
300
+ }
301
+
302
+ declare class UiDailyCalendarDirective {
303
+ private readonly weekDaysEuropean;
304
+ private readonly weekDaysUsa;
305
+ readonly $isRangeSelection: InputSignal<boolean>;
306
+ get weekDays(): string[];
307
+ readonly $dateStart: ModelSignal<Date | null>;
308
+ readonly $dateEnd: ModelSignal<Date | null>;
309
+ readonly $hoverDate: WritableSignal<Date | null>;
310
+ readonly $currentMonth: ModelSignal<number>;
311
+ readonly $currentYear: ModelSignal<number>;
312
+ readonly $onRangeSelect: OutputEmitterRef<{
313
+ start: Date | null;
314
+ end: Date | null;
315
+ }>;
316
+ readonly $onSelect: OutputEmitterRef<Date>;
317
+ protected readonly $calendarDays: Signal<CalendarDay[]>;
318
+ private generateCalendar;
319
+ private isSameDay;
320
+ private isBetween;
321
+ private getDayState;
322
+ protected onHover(date: Date | null, inHoverRange: boolean): void;
323
+ private isUsaDateFormat;
324
+ protected select(date: Date): void;
325
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiDailyCalendarDirective, never>;
326
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiDailyCalendarDirective, "app-ui-daily-calendar", never, { "$isRangeSelection": { "alias": "$isRangeSelection"; "required": false; "isSignal": true; }; "$dateStart": { "alias": "$dateStart"; "required": false; "isSignal": true; }; "$dateEnd": { "alias": "$dateEnd"; "required": false; "isSignal": true; }; "$currentMonth": { "alias": "$currentMonth"; "required": true; "isSignal": true; }; "$currentYear": { "alias": "$currentYear"; "required": true; "isSignal": true; }; }, { "$dateStart": "$dateStartChange"; "$dateEnd": "$dateEndChange"; "$currentMonth": "$currentMonthChange"; "$currentYear": "$currentYearChange"; "$onRangeSelect": "$onRangeSelect"; "$onSelect": "$onSelect"; }, never, never, true, never>;
327
+ }
328
+
329
+ declare abstract class UiMonthlyCalendarDirective {
330
+ $date: ModelSignal<Date | null>;
331
+ $onSelect: OutputEmitterRef<Date>;
332
+ $currentYear: ModelSignal<number>;
333
+ protected $months: Signal<CalendarMonthItem[]>;
334
+ private generateMonths;
335
+ protected select(date: Date): void;
336
+ private isSelected;
337
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiMonthlyCalendarDirective, never>;
338
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiMonthlyCalendarDirective, "app-ui-monthly-calendar", never, { "$date": { "alias": "$date"; "required": false; "isSignal": true; }; "$currentYear": { "alias": "$currentYear"; "required": true; "isSignal": true; }; }, { "$date": "$dateChange"; "$onSelect": "$onSelect"; "$currentYear": "$currentYearChange"; }, never, never, true, never>;
339
+ }
340
+
341
+ declare class UiYearlyCalendarDirective {
342
+ $date: ModelSignal<Date | null>;
343
+ $onSelect: OutputEmitterRef<Date>;
344
+ $currentYear: ModelSignal<number>;
345
+ protected $years: Signal<CalendarYearItem[]>;
346
+ private generateYears;
347
+ private createSafeDate;
348
+ protected select(date: Date): void;
349
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiYearlyCalendarDirective, never>;
350
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiYearlyCalendarDirective, "app-ui-yearly-calendar", never, { "$date": { "alias": "$date"; "required": false; "isSignal": true; }; "$currentYear": { "alias": "$currentYear"; "required": true; "isSignal": true; }; }, { "$date": "$dateChange"; "$onSelect": "$onSelect"; "$currentYear": "$currentYearChange"; }, never, never, true, never>;
351
+ }
352
+
353
+ interface Highlighted {
354
+ string: string;
355
+ index: number;
356
+ css: string;
357
+ }
358
+ declare abstract class UiCodeDirective {
359
+ readonly $code: InputSignal<string>;
360
+ protected readonly $language: WritableSignal<string>;
361
+ protected readonly $highlightedArray: WritableSignal<Highlighted[]>;
362
+ constructor();
363
+ private highlightCode;
364
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiCodeDirective, never>;
365
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiCodeDirective, "app-ui-code", never, { "$code": { "alias": "$code"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
366
+ }
367
+
368
+ interface UiPopupAnimation {
369
+ startOrigin: string;
370
+ endOrigin: string;
371
+ start: string;
372
+ end: string;
373
+ leftStart: string;
374
+ leftEnd: string;
375
+ topStart: string;
376
+ topEnd: string;
377
+ }
378
+ interface UiPopupParameters<TComponent> {
379
+ options: UiPopupOptions<TComponent>;
380
+ }
381
+ interface UiPopupOptions<TComponent> {
382
+ inputs?: {
383
+ [P in keyof TComponent]?: TComponent[P];
384
+ };
385
+ }
386
+
387
+ type DropdownPosition = 'top' | 'bottom' | 'left' | 'right' | 'center' | 'left-bottom' | 'left-top' | 'right-top' | 'right-bottom';
388
+ interface DropdownParameters<TComponent> {
389
+ options: UiPopupOptions<TComponent>;
390
+ position: DropdownPosition;
391
+ hasBackdrop: boolean;
392
+ removePrevious: boolean;
393
+ hasAttachedWidth: boolean;
394
+ }
395
+ interface DropdownItem {
396
+ content: string;
397
+ icon?: AppIcon;
398
+ contentColor?: string;
399
+ iconColor?: string;
400
+ func?: () => void;
401
+ }
402
+
403
+ interface PopupAnimationOptions {
404
+ positionX: number;
405
+ positionY: number;
406
+ startTransition: string;
407
+ endTransition: string;
408
+ }
409
+ declare class UiPopupInstance {
410
+ private readonly overlayRef;
411
+ private readonly destroyRef;
412
+ id: string;
413
+ width: number;
414
+ readonly animationOrigin$: BehaviorSubject<string>;
415
+ readonly options: PopupAnimationOptions;
416
+ private readonly closed;
417
+ private readonly shouldClose;
418
+ constructor(overlayRef: OverlayRef, destroyRef: DestroyRef, options?: PopupAnimationOptions);
419
+ close(): void;
420
+ detach(): void;
421
+ onShouldClose(): Observable<void>;
422
+ }
423
+
424
+ interface PopupParameters {
425
+ animationOptions: PopupAnimationOptions;
426
+ isStaticBackdrop: boolean;
427
+ isClosePrevious: boolean;
428
+ width: number;
429
+ }
430
+ declare class UiPopupService {
431
+ protected overlay: Overlay;
432
+ protected injector: Injector;
433
+ protected destroyRef: DestroyRef;
434
+ protected router: Router;
435
+ popupInstances: UiPopupInstance[];
436
+ private backdropRef?;
437
+ private backdropPortal?;
438
+ private backdropPortalRef?;
439
+ protected readonly destroyDownloading$: Subject<void>;
440
+ protected readonly destroyOutsideClickSubscription$: Subject<void>;
441
+ constructor(overlay: Overlay, injector: Injector, destroyRef: DestroyRef, router: Router);
442
+ init<TComponent>(component: Type<TComponent>): void;
443
+ /**
444
+ * Opens a popup with the specified component and options.
445
+ *
446
+ * @param component - The component to be displayed in the popup.
447
+ * @param options - Configuration options for the popup, including inputs.
448
+ * @param id - A unique identifier for the popup instance.
449
+ * @param parameters - (Optional) Configuration options for the popup.
450
+ */
451
+ open<TComponent>(component: Type<TComponent>, options: UiPopupOptions<TComponent>, id: string, parameters: Partial<PopupParameters>): void;
452
+ /**
453
+ * Opens a popup that scales from the provided origin element to the centered popup size.
454
+ * Useful for image-preview transitions where the source element animates into the popup.
455
+ */
456
+ openScaledFromElement<TComponent>(component: Type<TComponent>, options: UiPopupOptions<TComponent>, id: string, originElement: HTMLElement, sourceWidth: number, sourceHeight: number, parameters?: Partial<PopupParameters>): void;
457
+ /**
458
+ * Closes the last opened popup.
459
+ */
460
+ close(): void;
461
+ private closePrevious;
462
+ /**
463
+ * Closes a popup by its index in the popupInstances array.
464
+ *
465
+ * @param index - The index of the popup to close.
466
+ */
467
+ closeByIndex(index: number): void;
468
+ /**
469
+ * Closes a popup by its unique identifier.
470
+ *
471
+ * @param id - The unique identifier of the popup to close.
472
+ */
473
+ closeById(id: string): void;
474
+ /**
475
+ * Closes all currently opened popups.
476
+ */
477
+ closeAll(): void;
478
+ /**
479
+ * Creates a popup instance with the specified component and options.
480
+ *
481
+ * @param overlayRef - The overlay reference for the popup.
482
+ * @param component - The component to be displayed in the popup.
483
+ * @param options - Configuration options for the popup, including inputs.
484
+ * @param id - A unique identifier for the popup instance.
485
+ * @param parameters - (Optional) Configuration options for the popup.
486
+ */
487
+ protected createPopup<TComponent>(overlayRef: OverlayRef, component: Type<TComponent>, options: UiPopupOptions<TComponent>, id: string, parameters: Partial<PopupParameters>): void;
488
+ /**
489
+ * Subscribes to outside events (e.g., scroll, router events) to close popups.
490
+ */
491
+ protected subscribeToOutsideEvents(): void;
492
+ protected destroy(): void;
493
+ protected showBackdrop(isStaticBackdrop?: boolean): void;
494
+ protected hideBackdrop(): void;
495
+ /**
496
+ * Fetches and normalizes popup parameters.
497
+ *
498
+ * @param parameters - Partial configuration options for the popup.
499
+ * @returns A complete set of popup parameters with default values applied.
500
+ */
501
+ private fetchPopupParameters;
502
+ private createScaleAnimationOptionsFromElement;
503
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiPopupService, never>;
504
+ static ɵprov: i0.ɵɵInjectableDeclaration<UiPopupService>;
505
+ }
506
+
507
+ declare class UiDropdownService extends UiPopupService {
508
+ private tipContainerRef?;
509
+ private tipContainerPortal?;
510
+ containerSize$: BehaviorSubject<{
511
+ width: number;
512
+ height: number;
513
+ }>;
514
+ private connectedPositions;
515
+ init(component: Type<unknown>, tipComponent?: Type<unknown>): void;
516
+ /**
517
+ * Opens a tooltip (tip) component attached to a specific HTML element.
518
+ * The tooltip displays text content with customizable position and offset.
519
+ *
520
+ * @param text - The text content to display in the tooltip.
521
+ * @param attachedRef - The HTML element to which the tooltip is attached.
522
+ * @param id - A unique identifier for the tooltip instance.
523
+ * @param position - (Optional) The positioning of the tooltip relative to the attached element (default: 'top').
524
+ * Available positions: 'top', 'bottom', 'left', 'right', 'center',
525
+ * 'left-top', 'left-bottom', 'right-top', 'right-bottom'.
526
+ * @param offsetY - (Optional) Vertical offset for tooltip positioning in pixels (default: 0).
527
+ * @param offsetX - (Optional) Horizontal offset for tooltip positioning in pixels (default: 0).
528
+ *
529
+ */
530
+ openTip(text: string, attachedRef: HTMLElement, id: string, position?: DropdownPosition, offsetY?: number, offsetX?: number): void;
531
+ /**
532
+ * Opens a dropdown attached to a specific HTML element.
533
+ *
534
+ * @param component - The component to be displayed in the dropdown.
535
+ * @param attachedRef - The HTML element to which the dropdown is attached.
536
+ * @param id - A unique identifier for the dropdown instance.
537
+ * @param parameters - (Optional) Configuration options for the dropdown.
538
+ * @param offsetY - (Optional) Vertical offset for dropdown positioning.
539
+ * @param offsetX - (Optional) Horizontal offset for dropdown positioning.
540
+ */
541
+ openAttached<TComponent>(component: Type<TComponent>, attachedRef: HTMLElement, id: string, parameters?: Partial<DropdownParameters<TComponent>>, offsetY?: number, offsetX?: number): void;
542
+ /**
543
+ * Opens a dropdown from the mouse position with intelligent border detection.
544
+ * The dropdown grows from the mouse cursor, adjusting position and animation origin
545
+ * based on available space near window boundaries.
546
+ *
547
+ * @param component - The component to be displayed in the dropdown.
548
+ * @param event - The MouseEvent containing the cursor position.
549
+ * @param id - A unique identifier for the dropdown instance.
550
+ * @param parameters - (Optional) Configuration options for the dropdown.
551
+ */
552
+ openAtMousePosition<TComponent>(component: Type<TComponent>, event: MouseEvent, id: string, parameters?: Partial<DropdownParameters<TComponent>>): void;
553
+ /**
554
+ * Calculates the animation origin based on mouse position relative to window boundaries.
555
+ *
556
+ * @param event - The MouseEvent containing the cursor position.
557
+ * @param containerSize - The size of the dropdown container.
558
+ * @returns The animation origin string (e.g., 'top left', 'bottom right').
559
+ */
560
+ private calculateMousePositionAnimationOrigin;
561
+ /**
562
+ * Calculates position adjustments for the dropdown when opened from mouse position.
563
+ * Ensures the dropdown stays within boundaries and positions intelligently.
564
+ *
565
+ * @param event - The MouseEvent containing the cursor position.
566
+ * @param containerSize - The size of the dropdown container.
567
+ * @returns An object with left and top position adjustments.
568
+ */
569
+ private calculateMousePositionAdjustment;
570
+ /**
571
+ * Creates a global position strategy for mouse-positioned dropdowns.
572
+ *
573
+ * @param event - The MouseEvent containing the cursor position.
574
+ * @returns The configured PositionStrategy for the overlay.
575
+ */
576
+ private createMousePositionStrategy;
577
+ protected subscribeToOutsideEvents(overlayRef?: OverlayRef): void;
578
+ /**
579
+ * Fetches and normalizes dropdown parameters.
580
+ *
581
+ * @param parameters - Partial configuration options for the dropdown.
582
+ * @returns A complete set of dropdown parameters with default values applied.
583
+ */
584
+ private fetchDropDownParameters;
585
+ /**
586
+ * Creates a position strategy for the dropdown overlay.
587
+ *
588
+ * @param attachedRef - The HTML element to which the dropdown is attached.
589
+ * @param parameters - The normalized dropdown parameters, including position and options.
590
+ * @param offsetX - Horizontal offset for dropdown positioning.
591
+ * @param offsetY - Vertical offset for dropdown positioning.
592
+ * @returns The configured PositionStrategy for the overlay.
593
+ */
594
+ private createPositionStrategy;
595
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiDropdownService, never>;
596
+ static ɵprov: i0.ɵɵInjectableDeclaration<UiDropdownService>;
597
+ }
598
+
599
+ declare abstract class UiPopupContainerDirective implements OnInit {
600
+ protected popupInstance: UiPopupInstance;
601
+ protected destroyRef: DestroyRef;
602
+ protected popupService: UiPopupService;
603
+ protected elementRef: ElementRef<HTMLElement>;
604
+ protected readonly $isShow: WritableSignal<boolean>;
605
+ protected readonly $pulseTrigger: WritableSignal<boolean>;
606
+ readonly $overflowHidden: InputSignal<boolean>;
607
+ readonly $shouldClose: ModelSignal<boolean>;
608
+ readonly $hasCloseButton: InputSignal<boolean>;
609
+ readonly $isEnableFadeAnimation: InputSignal<boolean>;
610
+ protected readonly $iconClose: ModelSignal<AppIcon | undefined>;
611
+ protected readonly $animationParams: WritableSignal<UiPopupAnimation>;
612
+ protected readonly destroyAnimationOrigin$: Subject<void>;
613
+ constructor(popupInstance: UiPopupInstance, destroyRef: DestroyRef, popupService: UiPopupService, elementRef: ElementRef<HTMLElement>);
614
+ ngOnInit(): void;
615
+ protected close(): void;
616
+ protected onAnimationDone(): void;
617
+ protected shouldClose(): void;
618
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiPopupContainerDirective, never>;
619
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiPopupContainerDirective, "app-ui-popup-container", never, { "$overflowHidden": { "alias": "$overflowHidden"; "required": false; "isSignal": true; }; "$shouldClose": { "alias": "$shouldClose"; "required": false; "isSignal": true; }; "$hasCloseButton": { "alias": "$hasCloseButton"; "required": false; "isSignal": true; }; "$isEnableFadeAnimation": { "alias": "$isEnableFadeAnimation"; "required": false; "isSignal": true; }; "$iconClose": { "alias": "$iconClose"; "required": false; "isSignal": true; }; }, { "$shouldClose": "$shouldCloseChange"; "$iconClose": "$iconCloseChange"; }, never, never, true, never>;
620
+ }
621
+
622
+ declare abstract class UiDropdownContainerDirective extends UiPopupContainerDirective implements AfterViewInit, OnInit {
623
+ private dropDownService;
624
+ private readonly renderer;
625
+ protected readonly $width: WritableSignal<string>;
626
+ private readonly $contentWrapper;
627
+ private readonly $swipeButton;
628
+ protected $animationParams: WritableSignal<UiPopupAnimation>;
629
+ constructor(dropDownService: UiDropdownService, popupInstance: UiPopupInstance, destroyRef: DestroyRef, elementRef: ElementRef<HTMLElement>, renderer: Renderer2);
630
+ ngOnInit(): void;
631
+ ngAfterViewInit(): void;
632
+ private initTouchEvents;
633
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiDropdownContainerDirective, never>;
634
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiDropdownContainerDirective, "app-ui-drop-down-container", never, {}, {}, never, never, true, never>;
635
+ }
636
+
637
+ declare class HoverTipDirective implements AfterViewInit {
638
+ private readonly hostRef;
639
+ private readonly uiDropdownService;
640
+ private readonly destroyRef;
641
+ private static instanceCounter;
642
+ readonly $text: InputSignal<string>;
643
+ readonly $debounceTime: InputSignal<number>;
644
+ readonly $position: InputSignal<DropdownPosition>;
645
+ readonly $offsetX: InputSignal<number>;
646
+ readonly $offsetY: InputSignal<number>;
647
+ private readonly tipId;
648
+ private isOpen;
649
+ constructor(hostRef: ElementRef<HTMLElement>, uiDropdownService: UiDropdownService, destroyRef: DestroyRef);
650
+ ngAfterViewInit(): void;
651
+ private openTip;
652
+ private closeTip;
653
+ static ɵfac: i0.ɵɵFactoryDeclaration<HoverTipDirective, never>;
654
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HoverTipDirective, "[appHoverTip]", never, { "$text": { "alias": "appHoverTip"; "required": true; "isSignal": true; }; "$debounceTime": { "alias": "$debounceTime"; "required": false; "isSignal": true; }; "$position": { "alias": "appHoverTipPosition"; "required": false; "isSignal": true; }; "$offsetX": { "alias": "appHoverTipOffsetX"; "required": false; "isSignal": true; }; "$offsetY": { "alias": "appHoverTipOffsetY"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
655
+ }
656
+
657
+ declare class UiImageDirective implements OnInit {
658
+ readonly $src: InputSignal<string>;
659
+ protected readonly $maxWidth: InputSignal<number>;
660
+ protected readonly $maxHeight: InputSignal<number>;
661
+ protected readonly $canShowImage: WritableSignal<boolean>;
662
+ protected readonly $imageWidth: WritableSignal<number>;
663
+ protected readonly $imageHeight: WritableSignal<number>;
664
+ ngOnInit(): void;
665
+ private setSize;
666
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiImageDirective, never>;
667
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiImageDirective, "app-ui-image", never, { "$src": { "alias": "$src"; "required": true; "isSignal": true; }; "$maxWidth": { "alias": "$maxWidth"; "required": false; "isSignal": true; }; "$maxHeight": { "alias": "$maxHeight"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
668
+ }
669
+
670
+ declare abstract class UiPaginationDirective {
671
+ readonly $hasNext: InputSignal<boolean>;
672
+ readonly $hasPrevious: InputSignal<boolean>;
673
+ readonly $nextClicked: OutputEmitterRef<void>;
674
+ readonly $previousClicked: OutputEmitterRef<void>;
675
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiPaginationDirective, never>;
676
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiPaginationDirective, "app-ui-pagination", never, { "$hasNext": { "alias": "$hasNext"; "required": true; "isSignal": true; }; "$hasPrevious": { "alias": "$hasPrevious"; "required": true; "isSignal": true; }; }, { "$nextClicked": "$nextClicked"; "$previousClicked": "$previousClicked"; }, never, never, true, never>;
677
+ }
678
+
679
+ declare abstract class UiPopupImageDirective implements OnInit, AfterViewInit {
680
+ private destroyRef;
681
+ readonly src: string;
682
+ readonly width: number;
683
+ readonly height: number;
684
+ protected readonly $imageWidth: i0.WritableSignal<number>;
685
+ protected readonly $imageHeight: i0.WritableSignal<number>;
686
+ protected readonly $imageStyleTransform: i0.WritableSignal<string>;
687
+ protected readonly $container: i0.Signal<ElementRef<HTMLDivElement> | undefined>;
688
+ protected readonly $image: i0.Signal<ElementRef<HTMLDivElement> | undefined>;
689
+ protected readonly $cursor: i0.WritableSignal<string>;
690
+ private isDragging;
691
+ private isTouchDragging;
692
+ private isPinching;
693
+ private lastTouchX;
694
+ private lastTouchY;
695
+ private lastTouchDistance;
696
+ private size;
697
+ private speed;
698
+ private readonly pos;
699
+ private readonly target;
700
+ private readonly pointer;
701
+ private scale;
702
+ constructor(destroyRef: DestroyRef);
703
+ ngOnInit(): void;
704
+ ngAfterViewInit(): void;
705
+ private setPosition;
706
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiPopupImageDirective, never>;
707
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiPopupImageDirective, "app-ui-popup-image", never, { "src": { "alias": "src"; "required": true; }; "width": { "alias": "width"; "required": true; }; "height": { "alias": "height"; "required": true; }; }, {}, never, never, true, never>;
708
+ }
709
+
710
+ type ButtonColor = 'primary' | 'secondary' | 'tertiary' | 'quaternary' | 'success' | 'warning' | 'info' | 'danger';
711
+ type SizeBehavior = 'block' | 'padding';
712
+ type ButtonSizes = 'medium' | 'small';
713
+ declare abstract class UiButtonDirective {
714
+ protected readonly elementRef: ElementRef<HTMLButtonElement>;
715
+ protected readonly renderer: Renderer2;
716
+ readonly $color: InputSignal<ButtonColor>;
717
+ readonly $isOutlined: InputSignal<boolean>;
718
+ readonly $isRounded: InputSignal<boolean>;
719
+ readonly $sizeBehavior: InputSignal<SizeBehavior>;
720
+ readonly $size: InputSignal<ButtonSizes>;
721
+ readonly $isDisabled: InputSignal<boolean>;
722
+ readonly $isLoading: InputSignal<boolean>;
723
+ constructor(elementRef: ElementRef<HTMLButtonElement>, renderer: Renderer2);
724
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiButtonDirective, never>;
725
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiButtonDirective, "app-ui-button", never, { "$color": { "alias": "$color"; "required": true; "isSignal": true; }; "$isOutlined": { "alias": "$isOutlined"; "required": false; "isSignal": true; }; "$isRounded": { "alias": "$isRounded"; "required": false; "isSignal": true; }; "$sizeBehavior": { "alias": "$sizeBehavior"; "required": false; "isSignal": true; }; "$size": { "alias": "$size"; "required": false; "isSignal": true; }; "$isDisabled": { "alias": "$isDisabled"; "required": false; "isSignal": true; }; "$isLoading": { "alias": "$isLoading"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
726
+ }
727
+
728
+ interface UiSelectButton {
729
+ id: string;
730
+ label?: string;
731
+ iconLeft?: AppIcon;
732
+ iconRight?: AppIcon;
733
+ }
734
+ type UiSelectButtonAlignment = 'justified' | 'vertical' | 'left';
735
+ type OverflowMode = 'scroll' | 'wrap';
736
+
737
+ declare class UiSelectButtonsDirective implements OnInit, AfterViewInit {
738
+ private readonly renderer;
739
+ protected readonly elementRef: ElementRef<HTMLElement>;
740
+ private readonly destroyRef;
741
+ private readonly platformId;
742
+ readonly $buttons: InputSignal<UiSelectButton[]>;
743
+ readonly $selectedButtonIndex: WritableSignal<number>;
744
+ readonly $alignment: InputSignal<'justified' | 'vertical' | 'left'>;
745
+ readonly $overflowMode: InputSignal<OverflowMode>;
746
+ readonly $buttonChanged: OutputEmitterRef<number>;
747
+ protected readonly $isScrollable: WritableSignal<boolean>;
748
+ constructor(renderer: Renderer2, elementRef: ElementRef<HTMLElement>, destroyRef: DestroyRef, platformId: object);
749
+ ngOnInit(): void;
750
+ ngAfterViewInit(): void;
751
+ protected select(index: number): void;
752
+ private checkScroll;
753
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiSelectButtonsDirective, never>;
754
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiSelectButtonsDirective, "app-ui-select-buttons", never, { "$buttons": { "alias": "$buttons"; "required": true; "isSignal": true; }; "$alignment": { "alias": "$alignment"; "required": false; "isSignal": true; }; "$overflowMode": { "alias": "$overflowMode"; "required": false; "isSignal": true; }; }, { "$buttonChanged": "$buttonChanged"; }, never, never, true, never>;
755
+ }
756
+
757
+ declare abstract class UiCopyButtonDirective {
758
+ private readonly destroyRef;
759
+ readonly $text: InputSignal<string>;
760
+ protected readonly $isCopied: WritableSignal<boolean>;
761
+ private readonly destroyTimer$;
762
+ constructor(destroyRef: DestroyRef);
763
+ protected copy(): void;
764
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiCopyButtonDirective, never>;
765
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiCopyButtonDirective, "app-ui-copy-button", never, { "$text": { "alias": "$text"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
766
+ }
767
+
768
+ interface UiTab extends UiSelectButton {
769
+ template?: TemplateRef<HTMLElement>;
770
+ }
771
+ type TabsAlignment = UiSelectButtonAlignment | 'right' | 'vertical-reverse';
772
+
773
+ declare class UiTabsDirective implements OnInit {
774
+ protected readonly renderer: Renderer2;
775
+ protected readonly elementRef: ElementRef<HTMLElement>;
776
+ readonly $tabs: ModelSignal<UiTab[]>;
777
+ readonly $alignment: InputSignal<TabsAlignment>;
778
+ readonly $selectedTabIndex: ModelSignal<number>;
779
+ protected readonly $templates: Signal<readonly TemplateRef<HTMLElement>[]>;
780
+ protected readonly $headContent: Signal<TemplateRef<HTMLElement> | undefined>;
781
+ constructor(renderer: Renderer2, elementRef: ElementRef<HTMLElement>);
782
+ ngOnInit(): void;
783
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiTabsDirective, never>;
784
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiTabsDirective, "[appUiTabs]", ["uiTabs"], { "$tabs": { "alias": "$tabs"; "required": true; "isSignal": true; }; "$alignment": { "alias": "$alignment"; "required": false; "isSignal": true; }; "$selectedTabIndex": { "alias": "$selectedTabIndex"; "required": false; "isSignal": true; }; }, { "$tabs": "$tabsChange"; "$selectedTabIndex": "$selectedTabIndexChange"; }, ["$templates", "$headContent"], never, true, never>;
785
+ }
786
+
787
+ type ValidationErrorsType = WithOptionalField<ValidationError>;
788
+ declare abstract class UiValidationErrorsDirective {
789
+ readonly $isError: InputSignal<boolean>;
790
+ readonly $errors: InputSignal<readonly ValidationErrorsType[]>;
791
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiValidationErrorsDirective, never>;
792
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiValidationErrorsDirective, "app-ui-validation-errors", never, { "$isError": { "alias": "$isError"; "required": false; "isSignal": true; }; "$errors": { "alias": "$errors"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
793
+ }
794
+
795
+ declare abstract class UiFieldBaseDirective<T> implements FormValueControl<T | null>, OnInit {
796
+ readonly value: ModelSignal<T | null>;
797
+ readonly disabled: InputSignal<boolean>;
798
+ readonly invalid: InputSignal<boolean>;
799
+ readonly errors: InputSignal<readonly ValidationErrorsType[]>;
800
+ readonly touched: ModelSignal<boolean>;
801
+ readonly dirty: ModelSignal<boolean>;
802
+ private initialValue;
803
+ ngOnInit(): void;
804
+ protected onInput(value: T): void;
805
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiFieldBaseDirective<any>, never>;
806
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiFieldBaseDirective<any>, "app-ui-field-base", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "dirty": { "alias": "dirty"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "invalid": "invalidChange"; "touched": "touchedChange"; "dirty": "dirtyChange"; }, never, never, true, never>;
807
+ }
808
+
809
+ type CheckboxStyles = 'primary' | 'success' | 'warning' | 'info' | 'danger';
810
+ declare abstract class UiInputCheckboxDirective implements FormCheckboxControl {
811
+ readonly checked: ModelSignal<boolean>;
812
+ readonly invalid: InputSignal<boolean>;
813
+ readonly disabled: InputSignal<boolean>;
814
+ readonly $style: InputSignal<CheckboxStyles>;
815
+ readonly $label: InputSignal<string>;
816
+ readonly $hideValidatorErrors: InputSignal<boolean>;
817
+ readonly errors: InputSignal<readonly ValidationErrorsType[]>;
818
+ readonly touched: ModelSignal<boolean>;
819
+ readonly dirty: ModelSignal<boolean>;
820
+ protected readonly $isError: Signal<boolean>;
821
+ change(): void;
822
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiInputCheckboxDirective, never>;
823
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiInputCheckboxDirective, "app-ui-input", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "$style": { "alias": "$style"; "required": false; "isSignal": true; }; "$label": { "alias": "$label"; "required": false; "isSignal": true; }; "$hideValidatorErrors": { "alias": "$hideValidatorErrors"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "dirty": { "alias": "dirty"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "invalid": "invalidChange"; "touched": "touchedChange"; "dirty": "dirtyChange"; }, never, never, true, never>;
824
+ }
825
+
826
+ interface LayoutSize {
827
+ padding: string;
828
+ font: string;
829
+ borderRadius: string;
830
+ }
831
+ type Size = 'small' | 'medium';
832
+ declare abstract class UiInputDirective extends UiFieldBaseDirective<string> {
833
+ readonly $size: InputSignal<Size>;
834
+ readonly $placeholder: InputSignal<string>;
835
+ readonly $label: InputSignal<string>;
836
+ readonly $shouldFocusedAfterViewInit: InputSignal<boolean>;
837
+ readonly $hideValidatorErrors: InputSignal<boolean>;
838
+ readonly $icon: InputSignal<AppIcon | null>;
839
+ protected readonly $layoutSize: Signal<LayoutSize>;
840
+ protected readonly $isError: Signal<boolean>;
841
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiInputDirective, never>;
842
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiInputDirective, "app-ui-input", never, { "$size": { "alias": "$size"; "required": false; "isSignal": true; }; "$placeholder": { "alias": "$placeholder"; "required": false; "isSignal": true; }; "$label": { "alias": "$label"; "required": false; "isSignal": true; }; "$shouldFocusedAfterViewInit": { "alias": "$shouldFocusedAfterViewInit"; "required": false; "isSignal": true; }; "$hideValidatorErrors": { "alias": "$hideValidatorErrors"; "required": false; "isSignal": true; }; "$icon": { "alias": "$icon"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
843
+ }
844
+
845
+ declare abstract class UiInputCountryDirective extends UiInputDirective implements AfterViewInit {
846
+ protected $selectedCountry: WritableSignal<CountryData>;
847
+ protected $isOpen: WritableSignal<boolean>;
848
+ private $inputElement;
849
+ constructor();
850
+ ngAfterViewInit(): void;
851
+ protected onPaste(event: ClipboardEvent): void;
852
+ private searchCountry;
853
+ protected setCountry(country: CountryData): void;
854
+ protected autoSetCountry(): void;
855
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiInputCountryDirective, never>;
856
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiInputCountryDirective, "app-ui-input-country", never, {}, {}, never, never, true, never>;
857
+ }
858
+
859
+ declare abstract class UIInputDateDirective extends UiInputDirective {
860
+ protected readonly $isOpen: WritableSignal<boolean>;
861
+ readonly $isRangeSelection: InputSignal<boolean>;
862
+ private $inputElement;
863
+ protected setDate(date: Date): void;
864
+ private formatDate;
865
+ protected isUsaDateFormat(): boolean;
866
+ protected setRangeDates(dates: {
867
+ start: Date | null;
868
+ end: Date | null;
869
+ }): void;
870
+ onInput(value: string): void;
871
+ private maskDate;
872
+ static ɵfac: i0.ɵɵFactoryDeclaration<UIInputDateDirective, never>;
873
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UIInputDateDirective, "app-ui-input-date", never, { "$isRangeSelection": { "alias": "$isRangeSelection"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
874
+ }
875
+
876
+ declare abstract class UIPhoneNumberDirective extends UiInputDirective implements AfterViewInit {
877
+ protected $selectedCountry: WritableSignal<CountryData>;
878
+ protected $isOpen: WritableSignal<boolean>;
879
+ protected $countryCode: WritableSignal<string>;
880
+ private $inputElement;
881
+ constructor();
882
+ ngAfterViewInit(): void;
883
+ protected onInput(value: string): void;
884
+ protected onPaste(event: ClipboardEvent): void;
885
+ protected setCountry(country: CountryData): void;
886
+ static ɵfac: i0.ɵɵFactoryDeclaration<UIPhoneNumberDirective, never>;
887
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UIPhoneNumberDirective, "app-ui-input-phone-number", never, {}, {}, never, never, true, never>;
888
+ }
889
+
890
+ interface InputSelectData {
891
+ value: string;
892
+ ico?: AppIcon;
893
+ }
894
+ declare abstract class UiInputSelectDirective extends UiInputDirective {
895
+ readonly $items: InputSignal<InputSelectData[]>;
896
+ protected readonly $isOpen: WritableSignal<boolean>;
897
+ protected readonly $selectedValue: WritableSignal<InputSelectData>;
898
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiInputSelectDirective, never>;
899
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiInputSelectDirective, "app-ui-select", never, { "$items": { "alias": "$items"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
900
+ }
901
+
902
+ declare abstract class UiInputSequenceDirective extends UiInputDirective {
903
+ $numberCells: InputSignal<number>;
904
+ protected $inputs: Signal<string[]>;
905
+ private inputRefs;
906
+ protected onInputSequence(event: Event, index: number): void;
907
+ protected onClick(event: MouseEvent | FocusEvent): void;
908
+ protected onKeyDown(event: KeyboardEvent, index: number): void;
909
+ private focusInput;
910
+ protected onPaste(event: ClipboardEvent, index: number): void;
911
+ private setValue;
912
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiInputSequenceDirective, never>;
913
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiInputSequenceDirective, "app-ui-sequence", never, { "$numberCells": { "alias": "$numberCells"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
914
+ }
915
+
916
+ declare abstract class UiInputTimeDirective extends UiInputDirective {
917
+ protected readonly times: string[];
918
+ private $inputElement;
919
+ protected readonly $isOpen: WritableSignal<boolean>;
920
+ onInput(value: string): void;
921
+ maskTime(value: string): string;
922
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiInputTimeDirective, never>;
923
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiInputTimeDirective, "app-ui-input-time", never, {}, {}, never, never, true, never>;
924
+ }
925
+
926
+ export { Alert, AlertType, AppIconsLibrary, AutoFocusDirective, CenterEllipsisPipe, CountryService, DateUtils, EMAIL, HAS_CAPITAL_CASE, HAS_NUMBER, HAS_SMALL_CASE, HAS_SPECIAL_CHARTERS, HoverTipDirective, IconComponent, LazyImgDirective, MIN_LENGTH, MaskGradientDirective, StickyObserverDirective, ThemeService, TrackLifecycleDirective, UIInputDateDirective, UIPhoneNumberDirective, UiAccordionComponent, UiAlertMessagesService, UiAvatarDirective, UiButtonDirective, UiCodeDirective, UiCopyButtonDirective, UiDailyCalendarDirective, UiDropdownContainerDirective, UiDropdownService, UiFieldBaseDirective, UiImageDirective, UiInputCheckboxDirective, UiInputCountryDirective, UiInputDirective, UiInputSelectDirective, UiInputSequenceDirective, UiInputTimeDirective, UiMonthlyCalendarDirective, UiPaginationDirective, UiPopupContainerDirective, UiPopupImageDirective, UiPopupInstance, UiPopupService, UiSelectButtonsDirective, UiTabsDirective, UiValidationErrorsDirective, UiYearlyCalendarDirective, emptyCountry, getAspectRatioFit, stringToHslColor };
927
+ export type { AlertParams, AppIcon, AppIconName, ButtonColor, CalendarDay, CalendarMonthItem, CalendarYearItem, CheckboxStyles, CountryData, DropdownItem, DropdownParameters, DropdownPosition, InputSelectData, NavigationEvent, OverflowMode, PopupAnimationOptions, RawSVG, TabsAlignment, UiPopupAnimation, UiPopupOptions, UiPopupParameters, UiSelectButton, UiSelectButtonAlignment, UiTab, ValidationErrorsType };