@rt-tools/ui-kit 0.0.4

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.
Files changed (69) hide show
  1. package/README.md +99 -0
  2. package/fesm2022/rt-tools-ui-kit.mjs +5143 -0
  3. package/fesm2022/rt-tools-ui-kit.mjs.map +1 -0
  4. package/package.json +43 -0
  5. package/rt-tools-ui-kit-0.0.4.tgz +0 -0
  6. package/src/lib/ui-kit/action-bar/components/bar/rtui-action-bar.component.scss +104 -0
  7. package/src/lib/ui-kit/action-bar/components/container/rtui-action-bar-container.component.scss +12 -0
  8. package/src/lib/ui-kit/aside/components/container/aside-container.component.scss +20 -0
  9. package/src/lib/ui-kit/aside/components/error-notification/aside-error-box.component.scss +37 -0
  10. package/src/lib/ui-kit/aside/components/panel/aside-panel.component.scss +243 -0
  11. package/src/lib/ui-kit/aside/stories/aside-component/test-aside.component.scss +4 -0
  12. package/src/lib/ui-kit/buttons/icon-round/rtui-round-icon-button.component.scss +44 -0
  13. package/src/lib/ui-kit/buttons/multi-button/rtui-multi-button.component.scss +92 -0
  14. package/src/lib/ui-kit/checkbox/rtui-checkbox.component.scss +68 -0
  15. package/src/lib/ui-kit/checkbox/stories/component/test-checkbox.component.scss +9 -0
  16. package/src/lib/ui-kit/dynamic-selectors/components/actions/rtui-dynamic-selector-list-actions.component.scss +63 -0
  17. package/src/lib/ui-kit/dynamic-selectors/components/dynamic-input/rtui-dynamic-input.component.scss +3 -0
  18. package/src/lib/ui-kit/dynamic-selectors/components/dynamic-selector/rtui-dynamic-selector.component.scss +7 -0
  19. package/src/lib/ui-kit/dynamic-selectors/components/multi-selector-popup/rtui-multi-selector-popup.component.scss +229 -0
  20. package/src/lib/ui-kit/dynamic-selectors/components/placeholder/rtui-dynamic-selector-placeholder.component.scss +59 -0
  21. package/src/lib/ui-kit/dynamic-selectors/components/selected-list/rtui-dynamic-selector-selected-list.component.scss +35 -0
  22. package/src/lib/ui-kit/dynamic-selectors/strories/component/input/test-dynamic-input.component.scss +16 -0
  23. package/src/lib/ui-kit/dynamic-selectors/strories/component/selector/test-selector.component.scss +22 -0
  24. package/src/lib/ui-kit/file-uploader/rtui-file-upload.component.scss +69 -0
  25. package/src/lib/ui-kit/file-uploader/stories/component/test-file-upload.component.scss +6 -0
  26. package/src/lib/ui-kit/header/header.component.scss +0 -0
  27. package/src/lib/ui-kit/header/stories/component/test-header.component.scss +14 -0
  28. package/src/lib/ui-kit/image-uploader/image-uploader/rtui-image-upload.component.scss +93 -0
  29. package/src/lib/ui-kit/image-uploader/stories/component/test-image-upload.component.scss +9 -0
  30. package/src/lib/ui-kit/info-badge/info-badge.component.scss +62 -0
  31. package/src/lib/ui-kit/info-badge/stories/component/test-info-badge/test-info-badge.component.scss +11 -0
  32. package/src/lib/ui-kit/modal/modal.component.scss +115 -0
  33. package/src/lib/ui-kit/modal/stories/test-modal.component.scss +4 -0
  34. package/src/lib/ui-kit/popover/rtui-popover-container.component.scss +13 -0
  35. package/src/lib/ui-kit/scrollable/scrollable-container.component.scss +64 -0
  36. package/src/lib/ui-kit/side-menu/menu/rtui-side-menu.component.scss +185 -0
  37. package/src/lib/ui-kit/side-menu/menu-sub-item/rtui-side-menu-sub-item.component.scss +97 -0
  38. package/src/lib/ui-kit/side-menu/stories/component/test-side-menu-wrapper.component.scss +48 -0
  39. package/src/lib/ui-kit/snack-bar/snack-bar.component.scss +100 -0
  40. package/src/lib/ui-kit/snack-bar/stories/component/test-snack-bar.component.scss +30 -0
  41. package/src/lib/ui-kit/spinner/spinner.component.scss +49 -0
  42. package/src/lib/ui-kit/table/components/clear-search-button/rtui-clear-button.component.scss +50 -0
  43. package/src/lib/ui-kit/table/components/pagination-view/rtui-pagination.component.scss +191 -0
  44. package/src/lib/ui-kit/table/components/table/rtui-table.component.scss +4 -0
  45. package/src/lib/ui-kit/table/components/table-base-cell/table-base-cell.component.scss +133 -0
  46. package/src/lib/ui-kit/table/components/table-config-aside/rt-table-config-aside.component.scss +4 -0
  47. package/src/lib/ui-kit/table/components/table-container/table-container.component.scss +212 -0
  48. package/src/lib/ui-kit/table/components/table-header-cell/table-header-cell.component.scss +115 -0
  49. package/src/lib/ui-kit/table/components/table-header-filter-cell/table-header-filter-cell.component.scss +11 -0
  50. package/src/lib/ui-kit/table/dynamic-list.component.scss +6 -0
  51. package/src/lib/ui-kit/table/stories/dynamic-list/test-dynamic-list.component.scss +15 -0
  52. package/src/lib/ui-kit/table/stories/pagination/test-pagination-component.scss +16 -0
  53. package/src/lib/ui-kit/table/stories/table/test-table-component.scss +7 -0
  54. package/src/lib/ui-kit/toggle/rtui-toggle.component.scss +174 -0
  55. package/src/lib/ui-kit/toggle/stories/component/test-toggle.component.scss +9 -0
  56. package/src/lib/ui-kit/toolbar/toolbar.component.scss +99 -0
  57. package/src/styles/base/_base.scss +71 -0
  58. package/src/styles/base/_mixin.scss +66 -0
  59. package/src/styles/base/_variables.scss +34 -0
  60. package/src/styles/components/_action-bar.scss +84 -0
  61. package/src/styles/components/_button.scss +364 -0
  62. package/src/styles/components/_checkbox.scss +40 -0
  63. package/src/styles/components/_dynamic-selectors.scss +134 -0
  64. package/src/styles/components/_form.scss +90 -0
  65. package/src/styles/components/_rtui_button.scss +452 -0
  66. package/src/styles/components/_snackbar.scss +103 -0
  67. package/src/styles/components/_table.scss +239 -0
  68. package/src/styles/main.scss +14 -0
  69. package/types/rt-tools-ui-kit.d.ts +1875 -0
@@ -0,0 +1,1875 @@
1
+ import * as i0 from '@angular/core';
2
+ import { OnChanges, ElementRef, Renderer2, PipeTransform, Provider, InjectionToken, Type, OnInit, Signal, TemplateRef, WritableSignal, InputSignal, InputSignalWithTransform, OutputEmitterRef, ModelSignal, AfterViewInit, AfterViewChecked, AfterContentChecked, OnDestroy } from '@angular/core';
3
+ import { Nullable, Icon, Select, ISideMenu, AsidePositions, IAside, AsideButtonsType, POSITION_ENUM, OSTypes } from '@rt-tools/utils';
4
+ export * from '@rt-tools/utils';
5
+ export * from '@rt-tools/store';
6
+ import { Observable } from 'rxjs';
7
+ import { FormControl, ControlValueAccessor, Validator, FormGroup, ValidationErrors } from '@angular/forms';
8
+ import { ThemePalette } from '@angular/material/core';
9
+ import { MatDialogConfig } from '@angular/material/dialog';
10
+ import { MatDrawer } from '@angular/material/sidenav';
11
+ import { ComponentType } from '@angular/cdk/portal';
12
+ import { HttpErrorResponse } from '@angular/common/http';
13
+ import { MatFormFieldAppearance } from '@angular/material/form-field';
14
+ import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
15
+ import { TooltipPosition } from '@angular/material/tooltip';
16
+ import { AnimationPlayer, AnimationTriggerMetadata } from '@angular/animations';
17
+ import { MatSnackBarConfig, MatSnackBarRef } from '@angular/material/snack-bar';
18
+ import { CdkDragDrop } from '@angular/cdk/drag-drop';
19
+ import { ConnectedPosition, CdkOverlayOrigin } from '@angular/cdk/overlay';
20
+ import { MatInput } from '@angular/material/input';
21
+ import { ImageCroppedEvent } from 'ngx-image-cropper';
22
+
23
+ type IModsObject = Record<string, unknown>;
24
+ interface IBemConfig {
25
+ separators: {
26
+ el: string;
27
+ mod: string;
28
+ val: string;
29
+ };
30
+ ignoreValues?: boolean;
31
+ modCase?: string;
32
+ }
33
+
34
+ declare class BlockDirective implements OnChanges {
35
+ #private;
36
+ readonly element: ElementRef;
37
+ readonly renderer: Renderer2;
38
+ readonly name: string;
39
+ private readonly elem;
40
+ rtMod?: string | string[] | (string | false)[] | IModsObject;
41
+ constructor(element: ElementRef, renderer: Renderer2, name: string, elem: string);
42
+ ngOnChanges(): void;
43
+ static ɵfac: i0.ɵɵFactoryDeclaration<BlockDirective, [null, null, { attribute: "rtBlock"; }, { attribute: "rtElem"; optional: true; }]>;
44
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BlockDirective, "[rtBlock]", never, { "rtMod": { "alias": "rtMod"; "required": false; }; }, {}, never, never, true, never>;
45
+ }
46
+
47
+ declare class ConcatClassesPipe implements PipeTransform {
48
+ transform<C extends string | boolean | null | undefined>(classes: (C | C[])[]): string;
49
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConcatClassesPipe, never>;
50
+ static ɵpipe: i0.ɵɵPipeDeclaration<ConcatClassesPipe, "concatClasses", true>;
51
+ }
52
+
53
+ declare class ElemDirective implements OnChanges {
54
+ #private;
55
+ readonly element: ElementRef;
56
+ readonly renderer: Renderer2;
57
+ readonly name: string;
58
+ private readonly rtBlock;
59
+ rtMod?: string | string[] | (string | false)[] | IModsObject;
60
+ blockName: string;
61
+ constructor(element: ElementRef, renderer: Renderer2, name: string, rtBlock: BlockDirective);
62
+ ngOnChanges(): void;
63
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElemDirective, [null, null, { attribute: "rtElem"; }, null]>;
64
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ElemDirective, "[rtElem]", never, { "rtMod": { "alias": "rtMod"; "required": false; }; }, {}, never, never, true, never>;
65
+ }
66
+
67
+ declare class ModDirective {
68
+ static ɵfac: i0.ɵɵFactoryDeclaration<ModDirective, never>;
69
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ModDirective, "[rtMod]", never, {}, {}, never, never, true, never>;
70
+ }
71
+
72
+ declare enum STORAGE_TYPES_ENUM {
73
+ LOCAL = "local",
74
+ SESSION = "session",
75
+ IN_MEMORY = "inMemory",
76
+ CUSTOM = "custom"
77
+ }
78
+ type StorageType = STORAGE_TYPES_ENUM.LOCAL | STORAGE_TYPES_ENUM.SESSION | STORAGE_TYPES_ENUM.IN_MEMORY | STORAGE_TYPES_ENUM.CUSTOM;
79
+
80
+ /**
81
+ * A service that implements the `Storage` interface using an in-memory map.
82
+ * This service provides a fallback storage solution when `localStorage`
83
+ * or `sessionStorage` is not available, such as in server-side rendering (SSR) scenarios.
84
+ *
85
+ * @Injectable
86
+ */
87
+ declare class InMemoryStorageService implements Storage {
88
+ #private;
89
+ /**
90
+ * Returns the number of key-value pairs currently stored.
91
+ *
92
+ * @returns the number of items in storage
93
+ * @public
94
+ */
95
+ get length(): number;
96
+ /**
97
+ * Retrieves the value associated with the given key.
98
+ *
99
+ * @param key - The name of the key to retrieve the value for
100
+ * @returns the value associated with the key, or `null` if the key does not exist
101
+ * @public
102
+ * @returns string | null
103
+ */
104
+ getItem(key: string): string | null;
105
+ /**
106
+ * Adds or updates the key-value pair in the storage.
107
+ *
108
+ * @param key - The name of the key to create or update
109
+ * @param data - The value to associate with the key
110
+ * @public
111
+ * @returns void
112
+ */
113
+ setItem(key: string, data: string): void;
114
+ /**
115
+ * Retrieves the key at the specified index.
116
+ *
117
+ * @param index - The index of the key to retrieve
118
+ * @returns the key at the specified index, or `null` if the index is out of bounds
119
+ * @public
120
+ * @returns string | null
121
+ */
122
+ key(index: number): string | null;
123
+ /**
124
+ * Removes the key-value pair associated with the given key.
125
+ *
126
+ * @param key - The name of the key to remove
127
+ * @public
128
+ * @returns void
129
+ */
130
+ removeItem(key: string): void;
131
+ /**
132
+ * Clears all key-value pairs from the storage.
133
+ *
134
+ * @public
135
+ * @returns void
136
+ */
137
+ clear(): void;
138
+ static ɵfac: i0.ɵɵFactoryDeclaration<InMemoryStorageService, never>;
139
+ static ɵprov: i0.ɵɵInjectableDeclaration<InMemoryStorageService>;
140
+ }
141
+
142
+ interface IStorageConverter {
143
+ convertTo(data: any): string;
144
+ convertFrom<T>(data: any): Nullable<T>;
145
+ }
146
+
147
+ interface IStorageConfig {
148
+ ctx: Nullable<StorageType>;
149
+ storageRef: Nullable<Storage>;
150
+ converter: Nullable<IStorageConverter>;
151
+ }
152
+
153
+ declare class JsonConverter implements IStorageConverter {
154
+ convertTo(data: Nullable<any>): string;
155
+ convertFrom<T>(data: any): Nullable<T>;
156
+ }
157
+
158
+ /**
159
+ * Returns the set of dependency-injection providers
160
+ * required to setup storages in an application.
161
+ *
162
+ * @usageNotes
163
+ *
164
+ * This function sets up the essential storage services needed for
165
+ * working with `localStorage`, `sessionStorage`, and an in-memory storage solution.
166
+ * It includes providers for each type of storage, ensuring that the appropriate
167
+ * storage service is injected based on the platform or specific use case.
168
+ *
169
+ * The function is particularly useful in scenarios where the application may be
170
+ * running on the server-side (SSR). In such cases, instead of using `localStorage`
171
+ * and `sessionStorage`, which are only available in the browser, the `InMemoryStorageService`
172
+ * can be used as a fallback, ensuring that the application still functions correctly.
173
+ *
174
+ * ```typescript
175
+ * bootstrapApplication(RootComponent, {
176
+ * providers: [
177
+ * provideRtStorage()
178
+ * ]
179
+ * });
180
+ * ```
181
+ *
182
+ * @publicApi
183
+ */
184
+ declare function provideRtStorage(): Provider[];
185
+
186
+ /**
187
+ * Factory for creating or returning `localStorage`.
188
+ * Returns `localStorage` global object if the application is running in a browser,
189
+ * otherwise returns null.
190
+ *
191
+ * @returns localStorage or null
192
+ */
193
+ declare function localStorageFactory(): Nullable<Storage>;
194
+ /**
195
+ * Factory for creating or returning `sessionStorage`.
196
+ * Returns `sessionStorage` global object if the application is running in a browser,
197
+ * otherwise returns null.
198
+ *
199
+ * @returns sessionStorage or null
200
+ */
201
+ declare function sessionStorageFactory(): Nullable<Storage>;
202
+ /**
203
+ * Factory for creating `InMemoryStorageService`.
204
+ * Returns a new instance of InMemoryStorageService.
205
+ *
206
+ * @returns a new instance of InMemoryStorageService
207
+ */
208
+ declare function inMemoryStorageFactory(): Storage;
209
+
210
+ /**
211
+ * A service for managing data storage across different storage types,
212
+ * including `localStorage`, `sessionStorage`, and an in-memory storage fallback.
213
+ * The service supports custom storage types and data conversion through configurable converters.
214
+ *
215
+ * @Injectable
216
+ */
217
+ declare class StorageService {
218
+ #private;
219
+ /**
220
+ * Retrieves an item from the specified storage context.
221
+ *
222
+ * @param key - The key of the item to retrieve.
223
+ * @param config - Optional configuration for the storage context and data conversion.
224
+ * @returns The retrieved item, converted from storage if a converter is provided, or `null` if the item does not exist.
225
+ */
226
+ getItem<T>(key: string, config?: Partial<IStorageConfig>): Nullable<T>;
227
+ /**
228
+ * Stores an item in the specified storage context.
229
+ *
230
+ * @param key - The key to associate with the stored item.
231
+ * @param data - The data to store, which will be converted if a converter is provided.
232
+ * @param config - Optional configuration for the storage context and data conversion.
233
+ */
234
+ setItem(key: string, data: any, config?: Partial<IStorageConfig>): void;
235
+ /**
236
+ * Checks if a given key exists in the specified storage context.
237
+ *
238
+ * @param key - The key to check for.
239
+ * @param ctx - The storage context to search in (local, session, or in-memory).
240
+ * @returns `true` if the key exists, `false` otherwise.
241
+ */
242
+ hasKey(key: string, ctx?: Nullable<StorageType>): boolean;
243
+ /**
244
+ * Executes callback functions based on whether a key exists in the specified storage context.
245
+ *
246
+ * @param key - The key to check for.
247
+ * @param onHas - The callback to execute if the key exists.
248
+ * @param onHasNot - The optional callback to execute if the key does not exist.
249
+ * @param config - Optional configuration for the storage context and data conversion.
250
+ */
251
+ onHasKey<T>(key: string, onHas: (value: Nullable<T>) => void, onHasNot?: () => void, config?: Partial<IStorageConfig>): void;
252
+ /**
253
+ * Removes an item from the specified storage context.
254
+ *
255
+ * @param key - The key of the item to remove.
256
+ * @param ctx - The storage context from which to remove the item.
257
+ */
258
+ removeItem(key: string, ctx?: Nullable<StorageType>): void;
259
+ /**
260
+ * Clears all items from the specified storage context.
261
+ *
262
+ * @param ctx - The storage context to clear.
263
+ */
264
+ clear(ctx?: Nullable<StorageType>): void;
265
+ static ɵfac: i0.ɵɵFactoryDeclaration<StorageService, never>;
266
+ static ɵprov: i0.ɵɵInjectableDeclaration<StorageService>;
267
+ }
268
+
269
+ declare const CUSTOM_STORAGE: InjectionToken<Storage>;
270
+
271
+ declare const IN_MEMORY_STORAGE: InjectionToken<Storage>;
272
+
273
+ declare const LOCAL_STORAGE: InjectionToken<Storage>;
274
+
275
+ declare const SESSION_STORAGE: InjectionToken<Storage>;
276
+
277
+ /**
278
+ * Abstract StorageService class for interacting with a storage system.
279
+ * Uses Observable to handle asynchronous operations.
280
+ */
281
+ interface IIDBStorageServiceInterface<T> {
282
+ /**
283
+ * Retrieves a value from storage by the given key.
284
+ * @param key - The key to retrieve the value.
285
+ * @returns An Observable that emits the value of type T or undefined if the key does not exist.
286
+ */
287
+ get(key: string): Observable<T | undefined>;
288
+ /**
289
+ * Saves a value in storage under the specified key.
290
+ * @param key - The key to store the value under.
291
+ * @param value - The value to be stored.
292
+ * @returns An Observable that completes once the value is successfully saved.
293
+ */
294
+ set(key: string, value: T): Observable<void>;
295
+ /**
296
+ * Removes a value from storage by the specified key.
297
+ * @param key - The key to remove the value from.
298
+ * @returns An Observable that completes once the value is successfully removed.
299
+ */
300
+ remove(key: string): Observable<void>;
301
+ }
302
+
303
+ declare class IDBStorageService<ENTITY_TYPE> implements IIDBStorageServiceInterface<ENTITY_TYPE> {
304
+ #private;
305
+ constructor();
306
+ get(key: string): Observable<ENTITY_TYPE | undefined>;
307
+ set(key: string, value: ENTITY_TYPE): Observable<void>;
308
+ remove(key: string): Observable<void>;
309
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDBStorageService<any>, never>;
310
+ static ɵprov: i0.ɵɵInjectableDeclaration<IDBStorageService<any>>;
311
+ }
312
+
313
+ /**
314
+ * Factory for creating `IDBStorageService`.
315
+ * Returns a new instance of IDBStorageService.
316
+ *
317
+ * @returns a new instance of IDBStorageService
318
+ */
319
+ declare function iDBStorageFactory(): IDBStorageService<Record<string, unknown>>;
320
+
321
+ /**
322
+ * Returns the set of dependency-injection providers
323
+ * required to set up storages in an application.
324
+ *
325
+ * @usageNotes
326
+ *
327
+ * This function sets up the essential storage services needed for
328
+ * working with `idb storage` solution.
329
+ * It includes providers for each type of storage, ensuring that the appropriate
330
+ * storage service is injected based on the platform or specific use case.
331
+ *
332
+ * ```typescript
333
+ * bootstrapApplication(RootComponent, {
334
+ * providers: [
335
+ * provideRtIDBStorage()
336
+ * ]
337
+ * });
338
+ * ```
339
+ *
340
+ * @publicApi
341
+ */
342
+ declare function provideRtIDBStorage(): Provider[];
343
+
344
+ /**
345
+ * Injection token for IDBStorageService.
346
+ */
347
+ declare const IDB_STORAGE_SERVICE_TOKEN: InjectionToken<IDBStorageService<any>>;
348
+
349
+ declare namespace IModal {
350
+ interface Button<T> {
351
+ text: string;
352
+ color?: ThemePalette;
353
+ value: Nullable<T>;
354
+ appearance?: 'standard' | 'raised' | 'flat' | 'stroked' | 'fab' | 'mini-fab';
355
+ validateSelect?: boolean;
356
+ assignSelectedValue?: boolean;
357
+ style?: {
358
+ [className: string]: string;
359
+ };
360
+ className?: string;
361
+ }
362
+ interface Data<T> {
363
+ buttonsAlign: 'start' | 'center' | 'end';
364
+ buttons: Array<Button<T>>;
365
+ component?: Type<any>;
366
+ icon?: Icon;
367
+ title?: string;
368
+ text?: string;
369
+ confirmation?: string;
370
+ input?: {
371
+ label: string;
372
+ placeholder: string;
373
+ value: string;
374
+ sample?: string;
375
+ };
376
+ textArea?: {
377
+ value: string;
378
+ placeholder: string;
379
+ };
380
+ select?: Select<T>;
381
+ }
382
+ interface DataAnswer<T> {
383
+ value: T;
384
+ message: string;
385
+ }
386
+ type ConfirmResponsePredicate<T> = (answer: Nullable<IModal.DataAnswer<T>>) => boolean;
387
+ interface ConfirmResponse<T> {
388
+ on(predicate: ConfirmResponsePredicate<T>): Observable<Nullable<IModal.DataAnswer<T>>>;
389
+ onCancel(cancel?: ConfirmResponsePredicate<T>): Observable<Nullable<IModal.DataAnswer<T>>>;
390
+ onConfirm(confirm?: ConfirmResponsePredicate<T>): Observable<Nullable<IModal.DataAnswer<T>>>;
391
+ }
392
+ }
393
+
394
+ declare class RtuiModalComponent<T> implements OnInit {
395
+ #private;
396
+ readonly data: IModal.Data<T>;
397
+ control: FormControl | undefined;
398
+ selectControl: FormControl | undefined;
399
+ readonly bemBlock: string;
400
+ get hostClasses(): Record<string, boolean>;
401
+ ngOnInit(): void;
402
+ onClose(button: IModal.Button<T>): void;
403
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiModalComponent<any>, never>;
404
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiModalComponent<any>, "rtui-modal", never, {}, {}, never, never, true, never>;
405
+ }
406
+
407
+ declare class RtModalService {
408
+ #private;
409
+ confirm<T>(data: IModal.Data<T>, config?: MatDialogConfig): Observable<Nullable<IModal.DataAnswer<T>>>;
410
+ with<T>(data: IModal.Data<T>, config?: MatDialogConfig): IModal.ConfirmResponse<T>;
411
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtModalService, never>;
412
+ static ɵprov: i0.ɵɵInjectableDeclaration<RtModalService>;
413
+ }
414
+
415
+ declare class RtuiScrollableContainerHeaderDirective {
416
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiScrollableContainerHeaderDirective, never>;
417
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiScrollableContainerHeaderDirective, "[rtuiScrollableHeader]", never, {}, {}, never, never, true, never>;
418
+ }
419
+ declare class RtuiScrollableContainerContentDirective {
420
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiScrollableContainerContentDirective, never>;
421
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiScrollableContainerContentDirective, "[rtuiScrollableContent]", never, {}, {}, never, never, true, never>;
422
+ }
423
+ declare class RtuiScrollableContainerFooterDirective {
424
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiScrollableContainerFooterDirective, never>;
425
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiScrollableContainerFooterDirective, "[rtuiScrollableFooter]", never, {}, {}, never, never, true, never>;
426
+ }
427
+ declare class RtuiScrollableContainerComponent {
428
+ readonly headerTpl: Signal<Nullable<TemplateRef<Type<unknown>>>>;
429
+ readonly contentTpl: Signal<Nullable<TemplateRef<Type<unknown>>>>;
430
+ readonly footerTpl: Signal<Nullable<TemplateRef<Type<unknown>>>>;
431
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiScrollableContainerComponent, never>;
432
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiScrollableContainerComponent, "rtui-scrollable", never, {}, {}, ["headerTpl", "contentTpl", "footerTpl"], never, true, never>;
433
+ }
434
+
435
+ declare class RtuiSideMenuHeaderDirective {
436
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiSideMenuHeaderDirective, never>;
437
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiSideMenuHeaderDirective, "[rtuiSideMenuHeader]", never, {}, {}, never, never, true, never>;
438
+ }
439
+ declare class RtuiSideMenuFooterDirective {
440
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiSideMenuFooterDirective, never>;
441
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiSideMenuFooterDirective, "[rtuiSideMenuFooter]", never, {}, {}, never, never, true, never>;
442
+ }
443
+ declare class RtuiSideMenuComponent {
444
+ #private;
445
+ readonly headerTpl: Signal<Nullable<TemplateRef<Type<unknown>>>>;
446
+ readonly footerTpl: Signal<Nullable<TemplateRef<Type<unknown>>>>;
447
+ readonly subMenuRef: Signal<Nullable<MatDrawer>>;
448
+ readonly backToMainMenuButton: Signal<ISideMenu.Item>;
449
+ readonly selectedItem: WritableSignal<Nullable<ISideMenu.Item>>;
450
+ readonly selectedSubMenu: WritableSignal<Nullable<ISideMenu.Item[]>>;
451
+ activeMenuIds: InputSignal<Array<string | number>>;
452
+ menuItems: InputSignalWithTransform<ISideMenu.Item[], ISideMenu.Item[]>;
453
+ isMobile: InputSignalWithTransform<Nullable<boolean>, Nullable<boolean>>;
454
+ isSubMenuXScrollEnabled: InputSignalWithTransform<boolean, boolean>;
455
+ isMainMenuIconsOutlined: InputSignalWithTransform<boolean, boolean>;
456
+ isSubMenuIconsOutlined: InputSignalWithTransform<boolean, boolean>;
457
+ isSubMenuButtonIconsOutlined: InputSignalWithTransform<boolean, boolean>;
458
+ isSubMenuTooltipsShown: InputSignalWithTransform<boolean, boolean>;
459
+ activeMenuId: Signal<number | string>;
460
+ readonly closeMobileMenuAction: OutputEmitterRef<void>;
461
+ readonly clickSubMenuAction: OutputEmitterRef<{
462
+ item: ISideMenu.Item;
463
+ event: MouseEvent;
464
+ }>;
465
+ readonly clickSubMenuAdditionalAction: OutputEmitterRef<{
466
+ data: ISideMenu.ItemData;
467
+ event: MouseEvent;
468
+ }>;
469
+ onClickMenu(item: ISideMenu.Item): void;
470
+ onClickSubMenu({ item, event }: {
471
+ item: ISideMenu.Item;
472
+ event: MouseEvent;
473
+ }): void;
474
+ onBackToMainMenu(): void;
475
+ toggleSubMenu(item?: ISideMenu.Item): void;
476
+ closeSubMenu(): void;
477
+ closeMobileMenu(): void;
478
+ clickSubMenuAdditional({ data, event }: {
479
+ data: ISideMenu.ItemData;
480
+ event: MouseEvent;
481
+ }): void;
482
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiSideMenuComponent, never>;
483
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiSideMenuComponent, "rtui-side-menu", never, { "activeMenuIds": { "alias": "activeMenuIds"; "required": true; "isSignal": true; }; "menuItems": { "alias": "menuItems"; "required": false; "isSignal": true; }; "isMobile": { "alias": "isMobile"; "required": false; "isSignal": true; }; "isSubMenuXScrollEnabled": { "alias": "isSubMenuXScrollEnabled"; "required": false; "isSignal": true; }; "isMainMenuIconsOutlined": { "alias": "isMainMenuIconsOutlined"; "required": false; "isSignal": true; }; "isSubMenuIconsOutlined": { "alias": "isSubMenuIconsOutlined"; "required": false; "isSignal": true; }; "isSubMenuButtonIconsOutlined": { "alias": "isSubMenuButtonIconsOutlined"; "required": false; "isSignal": true; }; "isSubMenuTooltipsShown": { "alias": "isSubMenuTooltipsShown"; "required": false; "isSignal": true; }; }, { "closeMobileMenuAction": "closeMobileMenuAction"; "clickSubMenuAction": "clickSubMenuAction"; "clickSubMenuAdditionalAction": "clickSubMenuAdditionalAction"; }, ["headerTpl", "footerTpl"], never, true, never>;
484
+ }
485
+
486
+ declare class RtuiSpinnerComponent {
487
+ diameter: InputSignalWithTransform<number, number>;
488
+ showBox: InputSignalWithTransform<boolean, boolean>;
489
+ showBackground: InputSignalWithTransform<boolean, boolean>;
490
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiSpinnerComponent, never>;
491
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiSpinnerComponent, "rtui-spinner", never, { "diameter": { "alias": "diameter"; "required": false; "isSignal": true; }; "showBox": { "alias": "showBox"; "required": false; "isSignal": true; }; "showBackground": { "alias": "showBackground"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
492
+ }
493
+
494
+ declare class RtAsideService {
495
+ #private;
496
+ /**
497
+ * Opens an aside panel with a specified component, position, and data.
498
+ *
499
+ * @template COMPONENT - The type of the component to display in the aside panel.
500
+ * @template DATA - The type of the data to pass to the component.
501
+ * @template ANSWER - The type of the response expected from the aside panel.
502
+ *
503
+ * @param component - The component to render inside the aside panel.
504
+ * @param position - The position (left or right) where the aside panel should appear.
505
+ * @param data - The data to pass to the component in the aside panel.
506
+ *
507
+ * @returns An observable that emits the response from the aside panel when it is closed.
508
+ */
509
+ Open<COMPONENT = null, DATA = null, ANSWER = null>(component: ComponentType<COMPONENT>, position: AsidePositions, data: DATA): Observable<ANSWER | null>;
510
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtAsideService, never>;
511
+ static ɵprov: i0.ɵɵInjectableDeclaration<RtAsideService>;
512
+ }
513
+
514
+ declare class RtuiAsideContainerHeaderDirective {
515
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiAsideContainerHeaderDirective, never>;
516
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiAsideContainerHeaderDirective, "[rtuiAsideHeader]", never, {}, {}, never, never, true, never>;
517
+ }
518
+ declare class RtuiAsideContainerComponent {
519
+ title: InputSignal<Nullable<string>>;
520
+ isMobile: InputSignalWithTransform<Nullable<boolean>, boolean>;
521
+ isSubmitButtonDisabled: InputSignalWithTransform<boolean, boolean>;
522
+ isFooterShown: InputSignalWithTransform<boolean, boolean>;
523
+ pending: InputSignalWithTransform<boolean, boolean>;
524
+ isRequestErrorShown: InputSignalWithTransform<boolean, boolean>;
525
+ headerActionsButtons: InputSignalWithTransform<IAside.HeaderActionButton[], IAside.HeaderActionButton[]>;
526
+ requestError: InputSignal<Nullable<HttpErrorResponse>>;
527
+ submitButtonTitle: InputSignal<string>;
528
+ cancelButtonTitle: InputSignal<string>;
529
+ submitButtonTooltip: InputSignal<string>;
530
+ readonly submitAction: OutputEmitterRef<void>;
531
+ readonly cancelAction: OutputEmitterRef<void>;
532
+ readonly headerAction: OutputEmitterRef<AsideButtonsType>;
533
+ readonly headerTpl: Signal<Nullable<TemplateRef<Type<unknown>>>>;
534
+ onSubmit(): void;
535
+ onCancel(): void;
536
+ onHeaderActionClick(buttonName: AsideButtonsType): void;
537
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiAsideContainerComponent, never>;
538
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiAsideContainerComponent, "rtui-aside-container", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "isMobile": { "alias": "isMobile"; "required": true; "isSignal": true; }; "isSubmitButtonDisabled": { "alias": "isSubmitButtonDisabled"; "required": true; "isSignal": true; }; "isFooterShown": { "alias": "isFooterShown"; "required": false; "isSignal": true; }; "pending": { "alias": "pending"; "required": false; "isSignal": true; }; "isRequestErrorShown": { "alias": "isRequestErrorShown"; "required": false; "isSignal": true; }; "headerActionsButtons": { "alias": "headerActionsButtons"; "required": false; "isSignal": true; }; "requestError": { "alias": "requestError"; "required": false; "isSignal": true; }; "submitButtonTitle": { "alias": "submitButtonTitle"; "required": false; "isSignal": true; }; "cancelButtonTitle": { "alias": "cancelButtonTitle"; "required": false; "isSignal": true; }; "submitButtonTooltip": { "alias": "submitButtonTooltip"; "required": false; "isSignal": true; }; }, { "submitAction": "submitAction"; "cancelAction": "cancelAction"; "headerAction": "headerAction"; }, ["headerTpl"], ["*"], true, never>;
539
+ }
540
+
541
+ declare class RtuiRoundIconButtonComponent {
542
+ icon: InputSignal<string>;
543
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiRoundIconButtonComponent, never>;
544
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiRoundIconButtonComponent, "rtui-round-icon-button", never, { "icon": { "alias": "icon"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
545
+ }
546
+
547
+ declare enum BUTTON_SIZE {
548
+ SMALL = "sm",
549
+ MEDIUM = "md",
550
+ LARGE = "lg",
551
+ FULL = "full"
552
+ }
553
+ type ButtonSizeType = BUTTON_SIZE.SMALL | BUTTON_SIZE.MEDIUM | BUTTON_SIZE.LARGE | BUTTON_SIZE.FULL;
554
+ declare enum BUTTON_COLOR {
555
+ ACCENT = "accent",
556
+ SUCCESS = "success",
557
+ SECONDARY = "secondary",
558
+ ERROR = "error",
559
+ WARNING = "warning"
560
+ }
561
+ type ButtonColorType = BUTTON_COLOR.ACCENT | BUTTON_COLOR.SUCCESS | BUTTON_COLOR.ERROR | BUTTON_COLOR.WARNING | BUTTON_COLOR.SECONDARY;
562
+ declare enum BUTTON_APPEARANCE {
563
+ OUTLINE = "outline",
564
+ LIGHT = "light"
565
+ }
566
+ type ButtonAppearanceType = BUTTON_APPEARANCE.OUTLINE | BUTTON_APPEARANCE.LIGHT;
567
+ declare class RtuiButtonComponent {
568
+ readonly size: InputSignal<ButtonSizeType>;
569
+ readonly color: InputSignal<ButtonColorType>;
570
+ readonly appearance: InputSignal<Nullable<ButtonAppearanceType>>;
571
+ readonly modifierClass: Signal<string>;
572
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiButtonComponent, never>;
573
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiButtonComponent, "a[rtui-btn], button[rtui-btn]", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
574
+ }
575
+
576
+ declare class RtuiMultiButtonComponent {
577
+ actions: InputSignalWithTransform<string[], string[]>;
578
+ activeAction: ModelSignal<string>;
579
+ readonly changeActiveAction: OutputEmitterRef<string>;
580
+ onSetActiveAction(action: string): void;
581
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiMultiButtonComponent, never>;
582
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiMultiButtonComponent, "rtui-multi-button", never, { "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "activeAction": { "alias": "activeAction"; "required": false; "isSignal": true; }; }, { "activeAction": "activeActionChange"; "changeActiveAction": "changeActiveAction"; }, never, never, true, never>;
583
+ }
584
+
585
+ declare class RtuiToolbarLeftDirective {
586
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiToolbarLeftDirective, never>;
587
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiToolbarLeftDirective, "[rtuiToolbarLeft]", never, {}, {}, never, never, true, never>;
588
+ }
589
+ declare class RtuiToolbarCenterDirective {
590
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiToolbarCenterDirective, never>;
591
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiToolbarCenterDirective, "[rtuiToolbarCenter]", never, {}, {}, never, never, true, never>;
592
+ }
593
+ declare class RtuiToolbarRightDirective {
594
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiToolbarRightDirective, never>;
595
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiToolbarRightDirective, "[rtuiToolbarRight]", never, {}, {}, never, never, true, never>;
596
+ }
597
+ declare class RtuiToolbarComponent {
598
+ isVisibleToolbar: Signal<boolean>;
599
+ readonly leftToolTpl: Signal<Nullable<TemplateRef<Type<unknown>>>>;
600
+ readonly centerToolTpl: Signal<Nullable<TemplateRef<Type<unknown>>>>;
601
+ readonly rightToolTpl: Signal<Nullable<TemplateRef<Type<unknown>>>>;
602
+ sticky: InputSignalWithTransform<Nullable<boolean>, boolean>;
603
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiToolbarComponent, never>;
604
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiToolbarComponent, "rtui-toolbar", never, { "isVisibleToolbar": { "alias": "isVisibleToolbar"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; }, {}, ["leftToolTpl", "centerToolTpl", "rightToolTpl"], never, true, never>;
605
+ }
606
+
607
+ declare class RtuiHeaderLeftDirective {
608
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiHeaderLeftDirective, never>;
609
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiHeaderLeftDirective, "[rtuiHeaderLeft]", never, {}, {}, never, never, true, never>;
610
+ }
611
+ declare class RtuiHeaderCenterDirective {
612
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiHeaderCenterDirective, never>;
613
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiHeaderCenterDirective, "[rtuiHeaderCenter]", never, {}, {}, never, never, true, never>;
614
+ }
615
+ declare class RtuiHeaderRightDirective {
616
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiHeaderRightDirective, never>;
617
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiHeaderRightDirective, "[rtuiHeaderRight]", never, {}, {}, never, never, true, never>;
618
+ }
619
+ declare class RtuiHeaderComponent {
620
+ isMobile: InputSignalWithTransform<Nullable<boolean>, Nullable<boolean>>;
621
+ isMobileMenuButtonShown: InputSignalWithTransform<Nullable<boolean>, Nullable<boolean>>;
622
+ readonly leftHeaderTpl: Signal<Nullable<TemplateRef<Type<unknown>>>>;
623
+ readonly centerHeaderTpl: Signal<Nullable<TemplateRef<Type<unknown>>>>;
624
+ readonly rightHeaderTpl: Signal<Nullable<TemplateRef<Type<unknown>>>>;
625
+ readonly openMobileMenuAction: OutputEmitterRef<void>;
626
+ openSideMenu(): void;
627
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiHeaderComponent, never>;
628
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiHeaderComponent, "rtui-header", never, { "isMobile": { "alias": "isMobile"; "required": false; "isSignal": true; }; "isMobileMenuButtonShown": { "alias": "isMobileMenuButtonShown"; "required": false; "isSignal": true; }; }, { "openMobileMenuAction": "openMobileMenuAction"; }, ["leftHeaderTpl", "centerHeaderTpl", "rightHeaderTpl"], never, true, never>;
629
+ }
630
+
631
+ declare class RtuiClearButtonComponent {
632
+ #private;
633
+ isMobile: InputSignalWithTransform<Nullable<boolean>, boolean>;
634
+ isButtonShown: InputSignalWithTransform<Nullable<boolean>, boolean>;
635
+ tooltip: InputSignalWithTransform<Nullable<string>, string>;
636
+ tooltipPosition: InputSignal<TooltipPosition>;
637
+ readonly keydownAction: OutputEmitterRef<void>;
638
+ readonly clickAction: OutputEmitterRef<void>;
639
+ onKeydown(): void;
640
+ onClick(): void;
641
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiClearButtonComponent, never>;
642
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiClearButtonComponent, "rtui-clear-button", never, { "isMobile": { "alias": "isMobile"; "required": false; "isSignal": true; }; "isButtonShown": { "alias": "isButtonShown"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; }, { "keydownAction": "keydownAction"; "clickAction": "clickAction"; }, never, never, true, never>;
643
+ }
644
+
645
+ declare enum LIST_SORT_ORDER_ENUM {
646
+ ASC = "asc",
647
+ DESC = "desc"
648
+ }
649
+ type ListSortOrderType = LIST_SORT_ORDER_ENUM.ASC | LIST_SORT_ORDER_ENUM.DESC;
650
+
651
+ interface ListState<T extends string, M extends object> {
652
+ pageModel: PageModel;
653
+ sortModel: SortModel<T>;
654
+ filterModel: M;
655
+ searchTerm: string;
656
+ }
657
+ interface SortModel<T = string> {
658
+ propertyName: T;
659
+ sortDirection: ListSortOrderType;
660
+ }
661
+ interface PageModel {
662
+ pageNumber: number;
663
+ pageSize: number;
664
+ totalCount: number;
665
+ endIndex?: number;
666
+ hasNext?: boolean;
667
+ hasPrev?: boolean;
668
+ isFirstPage?: boolean;
669
+ isLastPage?: boolean;
670
+ startIndex?: number;
671
+ }
672
+ interface FilterModel<M = string> {
673
+ operatorType: FilterOperatorType;
674
+ propertyName: M;
675
+ value?: string | number | boolean;
676
+ values?: Array<string | number>;
677
+ }
678
+ declare enum FILTER_OPERATOR_TYPE_ENUM {
679
+ EQUALS = "equals",
680
+ NOT_EQUALS = "notEquals",
681
+ STARTS_WITH = "startsWith",
682
+ ENDS_WITH = "endsWith",
683
+ CONTAINS = "contains",
684
+ GREATER_THAN = "greaterThan",
685
+ LESS_THAN = "lessThan"
686
+ }
687
+ type FilterOperatorType = FILTER_OPERATOR_TYPE_ENUM.EQUALS | FILTER_OPERATOR_TYPE_ENUM.NOT_EQUALS | FILTER_OPERATOR_TYPE_ENUM.STARTS_WITH | FILTER_OPERATOR_TYPE_ENUM.ENDS_WITH | FILTER_OPERATOR_TYPE_ENUM.CONTAINS | FILTER_OPERATOR_TYPE_ENUM.GREATER_THAN | FILTER_OPERATOR_TYPE_ENUM.LESS_THAN;
688
+ declare const FILTER_OPERATORS: ReadonlyArray<FilterOperatorType>;
689
+
690
+ declare class RtuiPaginationComponent implements OnInit, AfterViewInit {
691
+ #private;
692
+ /** Current Page Model */
693
+ currentPageModel: InputSignal<PageModel>;
694
+ /** Indicates is mobile view */
695
+ isMobile: InputSignalWithTransform<Nullable<boolean>, boolean>;
696
+ /** Output action when Page Model changed */
697
+ readonly pageModelChange: OutputEmitterRef<Partial<PageModel>>;
698
+ /** Form control for selected page size */
699
+ control: FormControl<number>;
700
+ readonly divider: Signal<string>;
701
+ /** Page size options */
702
+ readonly pageSizes: Signal<number[]>;
703
+ /** Array of current page numbers */
704
+ readonly numbers: WritableSignal<Array<number | string>>;
705
+ /** Page Model for compare */
706
+ readonly previousPageModel: WritableSignal<Nullable<PageModel>>;
707
+ /** Value of full content width */
708
+ readonly minContentFitWidth: WritableSignal<number>;
709
+ /** Indicates is content clipped */
710
+ readonly isContentClipped: WritableSignal<boolean>;
711
+ /** Container template ref */
712
+ readonly containerRef: Signal<Nullable<ElementRef<HTMLElement>>>;
713
+ /** Set 'isContentClipped' when widow resize */
714
+ onResize(): void;
715
+ ngOnInit(): void;
716
+ /** Set 'isContentClipped' on init */
717
+ ngAfterViewInit(): void;
718
+ /** Action for change Page Model */
719
+ changePageSize(pageSize: number): void;
720
+ /** Action for select page */
721
+ onChangePageNumber(pageNumber: string | number): void;
722
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiPaginationComponent, never>;
723
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiPaginationComponent, "rtui-pagination", never, { "currentPageModel": { "alias": "currentPageModel"; "required": true; "isSignal": true; }; "isMobile": { "alias": "isMobile"; "required": true; "isSignal": true; }; }, { "pageModelChange": "pageModelChange"; }, never, never, true, never>;
724
+ }
725
+
726
+ declare const RTUI_TABLE_STOP_ROW_CLICK_ATTRIBUTE: string;
727
+
728
+ declare const DEFAULT_PAGE_SIZE: number;
729
+ declare const DEFAULT_PAGE_MODEL: Readonly<PageModel>;
730
+
731
+ declare enum TABLE_COLUMN_TYPES_ENUM {
732
+ DATE = "date",
733
+ PERCENT = "percent",
734
+ ARRAY = "array",
735
+ BOOLEAN = "boolean",
736
+ TEXT = "text",
737
+ CURRENCY = "currency",
738
+ CUSTOM = "custom"
739
+ }
740
+ declare enum TABLE_COLUMN_FILTER_TYPES_ENUM {
741
+ TEXT = "text",
742
+ NUMBER = "number",
743
+ SELECT = "select",
744
+ DATE = "date"
745
+ }
746
+ declare enum TEXT_CELL_COLOR_ENUM {
747
+ NEUTRAL = "neutral",
748
+ DANGER = "danger",
749
+ WARNING = "warning",
750
+ SUCCESS = "success",
751
+ EMPTY = "empty"
752
+ }
753
+ declare namespace ITable {
754
+ type TextCellColor = TEXT_CELL_COLOR_ENUM.NEUTRAL | TEXT_CELL_COLOR_ENUM.DANGER | TEXT_CELL_COLOR_ENUM.WARNING | TEXT_CELL_COLOR_ENUM.SUCCESS | TEXT_CELL_COLOR_ENUM.EMPTY;
755
+ type Type = TABLE_COLUMN_TYPES_ENUM.DATE | TABLE_COLUMN_TYPES_ENUM.PERCENT | TABLE_COLUMN_TYPES_ENUM.ARRAY | TABLE_COLUMN_TYPES_ENUM.BOOLEAN | TABLE_COLUMN_TYPES_ENUM.TEXT | TABLE_COLUMN_TYPES_ENUM.CURRENCY | TABLE_COLUMN_TYPES_ENUM.CUSTOM;
756
+ type FilterType = TABLE_COLUMN_FILTER_TYPES_ENUM.TEXT | TABLE_COLUMN_FILTER_TYPES_ENUM.NUMBER | TABLE_COLUMN_FILTER_TYPES_ENUM.SELECT | TABLE_COLUMN_FILTER_TYPES_ENUM.DATE;
757
+ interface Column<T = Record<string, unknown>> extends Record<string, unknown> {
758
+ align: 'right' | 'left' | 'center';
759
+ propName: keyof T;
760
+ type: Type;
761
+ copyable: boolean;
762
+ header: Header;
763
+ sorting?: SortModel<NonNullable<Extract<keyof T, string>>>;
764
+ filtering?: boolean;
765
+ filteringMultiple?: boolean;
766
+ copyBtnAlign?: 'right' | 'left';
767
+ width?: string;
768
+ minWidth?: string;
769
+ icon?: Icon;
770
+ iconTransform?: (value: T[keyof T]) => string;
771
+ href?: string;
772
+ className?: string;
773
+ tooltip?: string;
774
+ transform?: (value: T[keyof T]) => string | number;
775
+ filterType?: FilterType;
776
+ defaultFilterOperator?: FilterOperatorType;
777
+ filterOperators?: FilterOperatorType[];
778
+ filterSelectOptions?: string[];
779
+ displayName?: string;
780
+ orderIndex?: number;
781
+ hidden?: boolean;
782
+ fixed?: boolean;
783
+ }
784
+ interface ColumnFilter {
785
+ propName: string;
786
+ value: string;
787
+ }
788
+ interface Header {
789
+ align: 'right' | 'left' | 'center';
790
+ label: string;
791
+ className?: string;
792
+ tooltip?: string;
793
+ icon?: Icon;
794
+ }
795
+ interface Icon {
796
+ glyph: string;
797
+ color?: TextCellColor;
798
+ tooltip?: string;
799
+ visible?: boolean;
800
+ placement?: 'left' | 'right';
801
+ outlined?: boolean;
802
+ }
803
+ namespace Config {
804
+ interface Data<T> {
805
+ isVerticalScrollbarShown: boolean;
806
+ isHorizontalScrollbarShown: boolean;
807
+ columns: Array<ITable.Column<T>>;
808
+ }
809
+ interface Form<T> {
810
+ isVerticalScrollbarShown: FormControl<boolean>;
811
+ isHorizontalScrollbarShown: FormControl<boolean>;
812
+ columns: FormControl<(keyof T)[]>;
813
+ }
814
+ }
815
+ }
816
+
817
+ declare const RTUI_TABLE_COMPONENT_TOKEN: InjectionToken<IRtuiTable<Record<string, unknown>, string, string>>;
818
+ interface IRtuiTable<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY extends Extract<keyof ENTITY_TYPE, string>, KEY extends Extract<keyof ENTITY_TYPE, string>> {
819
+ columns: Signal<Array<ITable.Column<ENTITY_TYPE>>>;
820
+ customCellsTpl: Signal<Nullable<{
821
+ getTemplateByPropName(propName: keyof ENTITY_TYPE): TemplateRef<{
822
+ $implicit: ENTITY_TYPE;
823
+ }>;
824
+ }>>;
825
+ rowActionsTpl: Signal<Nullable<TemplateRef<{
826
+ $implicit: ENTITY_TYPE;
827
+ }>>>;
828
+ additionalRowActionsTpl: Signal<Nullable<TemplateRef<unknown>>>;
829
+ isMobile: Signal<boolean>;
830
+ isTableRowsClickable: Signal<boolean>;
831
+ keyExp: Signal<NonNullable<KEY>>;
832
+ entities: Signal<ENTITY_TYPE[]>;
833
+ currentSortModel: Signal<Nullable<SortModel<SORT_PROPERTY>>>;
834
+ appearance: Signal<MatFormFieldAppearance>;
835
+ filterAppearance: Signal<MatFormFieldAppearance>;
836
+ filterModel: Signal<FilterModel<KEY>[]>;
837
+ isFiltersShown: Signal<boolean>;
838
+ selectedEntitiesIds: WritableSignal<ENTITY_TYPE[KEY][]>;
839
+ isPageEntitiesSelected: WritableSignal<boolean>;
840
+ isPageEntitiesIndeterminate: WritableSignal<boolean>;
841
+ isMultiSelect: WritableSignal<boolean>;
842
+ isSelectorsColumnShown: WritableSignal<boolean>;
843
+ isSelectorsColumnDisabled: WritableSignal<boolean>;
844
+ activeRowIndex: WritableSignal<Nullable<number>>;
845
+ onSortChange(sortModel: SortModel): void;
846
+ onFilterChange(filterModel: FilterModel<KEY>[]): void;
847
+ onMenuOpen(index: number): void;
848
+ onMenuClose(): void;
849
+ onRowClick(row: ENTITY_TYPE, event: MouseEvent): void;
850
+ onRowDoubleClick(row: ENTITY_TYPE): void;
851
+ onToggleEntity(entity: ENTITY_TYPE, checked: boolean): void;
852
+ onTogglePageEntities(checked: boolean): void;
853
+ }
854
+
855
+ declare class RtTableConfigService<ENTITY_TYPE> {
856
+ #private;
857
+ readonly tableConfig: Signal<ITable.Config.Data<ENTITY_TYPE>>;
858
+ initConfig(storageKey: string, config: Array<ITable.Column<ENTITY_TYPE>>): void;
859
+ updateConfig(storageKey: string, config: ITable.Config.Data<ENTITY_TYPE>): void;
860
+ deleteConfig(storageKey: string): void;
861
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtTableConfigService<any>, never>;
862
+ static ɵprov: i0.ɵɵInjectableDeclaration<RtTableConfigService<any>>;
863
+ }
864
+
865
+ declare class RtCommonSelectorsDirective<ENTITY_TYPE extends Record<string, unknown>, KEY extends Extract<keyof ENTITY_TYPE, string>> {
866
+ /** Indicates is multiselect available */
867
+ isMultiSelect: InputSignalWithTransform<boolean, boolean>;
868
+ /** Indicates is 'Select all' checkbox shown */
869
+ isSelectorColumnShown: InputSignalWithTransform<boolean, boolean>;
870
+ /** Indicates is selectors column disabled */
871
+ isSelectorsColumnDisabled: InputSignalWithTransform<boolean, boolean>;
872
+ /** Selected entities Ids on init */
873
+ selectedEntitiesKeys: InputSignalWithTransform<ENTITY_TYPE[KEY][], ENTITY_TYPE[KEY][]>;
874
+ /** Key of ENTITY_TYPE for compare entities */
875
+ readonly keyExp: WritableSignal<NonNullable<KEY>>;
876
+ /** Current list of entities */
877
+ readonly entities: WritableSignal<ENTITY_TYPE[]>;
878
+ /** Add page entities to list exclude duplicates */
879
+ addPageEntitiesToListExcludeDuplicates(list: ENTITY_TYPE[]): ENTITY_TYPE[];
880
+ /** Remove page entities from list */
881
+ removePageEntitiesFromList(list: ENTITY_TYPE[]): ENTITY_TYPE[];
882
+ /** Check is one of page entities exist in selected entities */
883
+ isOneExistOnPage(selectedEntitiesIds: ENTITY_TYPE[KEY][]): boolean;
884
+ /** Check is all page entities exist in selected entities */
885
+ isAllExistOnPage(selectedEntitiesIds: ENTITY_TYPE[KEY][]): boolean;
886
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtCommonSelectorsDirective<any, any>, never>;
887
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtCommonSelectorsDirective<any, any>, never, never, { "isMultiSelect": { "alias": "isMultiSelect"; "required": false; "isSignal": true; }; "isSelectorColumnShown": { "alias": "isSelectorColumnShown"; "required": false; "isSignal": true; }; "isSelectorsColumnDisabled": { "alias": "isSelectorsColumnDisabled"; "required": false; "isSignal": true; }; "selectedEntitiesKeys": { "alias": "selectedEntitiesKeys"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
888
+ }
889
+
890
+ declare class RtDynamicListSelectorsDirective<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY extends Extract<keyof ENTITY_TYPE, string>, KEY extends Extract<keyof ENTITY_TYPE, string>> extends RtCommonSelectorsDirective<ENTITY_TYPE, KEY> implements OnInit {
891
+ #private;
892
+ /** Indicates is multiselect extended mod available (use selected and excluded lists) */
893
+ isMultiSelectExtendedMod: InputSignalWithTransform<boolean, boolean>;
894
+ /** Indicates is 'Select all' checkbox shown */
895
+ isSelectAllSelectorShown: InputSignalWithTransform<boolean, boolean>;
896
+ /** List of selected entities */
897
+ readonly selectedEntities: Signal<ENTITY_TYPE[]>;
898
+ /** List of excluded entities */
899
+ readonly excludedEntities: Signal<ENTITY_TYPE[]>;
900
+ /** List of selected entities ids */
901
+ readonly selectedEntitiesIds: Signal<ENTITY_TYPE[KEY][]>;
902
+ /** List of excluded entities ids */
903
+ readonly excludedEntitiesIds: Signal<ENTITY_TYPE[KEY][]>;
904
+ /** Indicates is 'Select All' checkbox selected */
905
+ readonly isAllEntitiesSelected: Signal<boolean>;
906
+ /** Indicates is all page entities checkbox selected */
907
+ readonly isPageEntitiesSelected: Signal<boolean>;
908
+ /** Indicates is page entities checkbox indeterminate */
909
+ readonly isPageEntitiesIndeterminate: Signal<boolean>;
910
+ /** Indicates is multi select extended mod enabled */
911
+ readonly isMultiSelectExtendedModEnabled: Signal<boolean>;
912
+ ngOnInit(): void;
913
+ /** Change selected entities list and 'isAllEntitiesSelected' indicator state */
914
+ toggleAllEntities(checked: boolean): void;
915
+ /** Change selected and excluded lists, set 'isPageEntitiesSelected' and 'isAllEntitiesSelected' indicators states */
916
+ togglePageEntities(checked: boolean): void;
917
+ /** Change selected and excluded lists and set is existing selected and is all selected states */
918
+ toggleEntity(entity: ENTITY_TYPE, checked: boolean): void;
919
+ /** Clear selected list */
920
+ clearSelectedList(): void;
921
+ /** Clear excluded list */
922
+ clearExcludedList(): void;
923
+ /** Set is existing selected and indeterminate state */
924
+ setExistingEntitiesState(): void;
925
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtDynamicListSelectorsDirective<any, any, any>, never>;
926
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtDynamicListSelectorsDirective<any, any, any>, "rtui-dynamic-list[rtDynamicListSelectorsDirective]", never, { "isMultiSelectExtendedMod": { "alias": "isMultiSelectExtendedMod"; "required": false; "isSignal": true; }; "isSelectAllSelectorShown": { "alias": "isSelectAllSelectorShown"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
927
+ }
928
+
929
+ declare class RtTableSelectorsDirective<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY extends Extract<keyof ENTITY_TYPE, string>, KEY extends Extract<keyof ENTITY_TYPE, string>> extends RtCommonSelectorsDirective<ENTITY_TYPE, KEY> implements OnInit {
930
+ #private;
931
+ /** List of selected entities */
932
+ readonly selectedEntities: Signal<ENTITY_TYPE[]>;
933
+ /** List of selected entities ids */
934
+ readonly selectedEntitiesIds: Signal<ENTITY_TYPE[KEY][]>;
935
+ /** Indicates is all page entities checkbox selected */
936
+ readonly isPageEntitiesSelected: Signal<boolean>;
937
+ /** Indicates is page entities checkbox indeterminate */
938
+ readonly isPageEntitiesIndeterminate: Signal<boolean>;
939
+ ngOnInit(): void;
940
+ /** Change selected and excluded lists, set 'isPageEntitiesSelected' and 'isAllEntitiesSelected' indicators states */
941
+ togglePageEntities(checked: boolean): void;
942
+ /** Change selected and excluded lists and set is existing selected and is all selected states */
943
+ toggleEntity(entity: ENTITY_TYPE, checked: boolean): void;
944
+ /** Clear selected list */
945
+ clearSelectedList(): void;
946
+ /** Set is existing selected and indeterminate state */
947
+ setExistingEntitiesState(): void;
948
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtTableSelectorsDirective<any, any, any>, never>;
949
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtTableSelectorsDirective<any, any, any>, "rtui-table[rtTableSelectorsDirective]", never, {}, {}, never, never, true, never>;
950
+ }
951
+
952
+ /** Directive for custom table cells */
953
+ declare class RtuiCustomTableCellsDirective<ENTITY_TYPE> {
954
+ cellsTemplates: InputSignal<{
955
+ [K in keyof ENTITY_TYPE]: TemplateRef<{
956
+ $implicit: ENTITY_TYPE;
957
+ }>;
958
+ }>;
959
+ getTemplateByPropName(propName: keyof ENTITY_TYPE): TemplateRef<{
960
+ $implicit: ENTITY_TYPE;
961
+ }>;
962
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiCustomTableCellsDirective<any>, never>;
963
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiCustomTableCellsDirective<any>, "[rtuiCustomTableCellsDirective]", never, { "cellsTemplates": { "alias": "rtuiCustomTableCellsDirective"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
964
+ }
965
+ /** Directive for row actions located inside a row menu button */
966
+ declare class RtuiTableRowActionsDirective {
967
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiTableRowActionsDirective, never>;
968
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiTableRowActionsDirective, "[rtuiTabletRowActionsDirective]", never, {}, {}, never, never, true, never>;
969
+ }
970
+ /** Directive for row actions located outside a row menu button */
971
+ declare class RtuiTableAdditionalRowActionsDirective {
972
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiTableAdditionalRowActionsDirective, never>;
973
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiTableAdditionalRowActionsDirective, "[rtuiTableAdditionalRowActionsDirective]", never, {}, {}, never, never, true, never>;
974
+ }
975
+ declare class RtuiTableComponent<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY extends Extract<keyof ENTITY_TYPE, string>, KEY extends Extract<keyof ENTITY_TYPE, string>> implements IRtuiTable<ENTITY_TYPE, SORT_PROPERTY, KEY>, AfterViewChecked {
976
+ #private;
977
+ protected readonly rowActions: Signal<Nullable<ElementRef<HTMLElement>>>;
978
+ protected readonly rowActionsHeaderPaddingHelper: Signal<Nullable<ElementRef<HTMLElement>>>;
979
+ protected readonly rowActionsPaddingHelper: Signal<Nullable<ElementRef<HTMLElement>>>;
980
+ protected readonly columnTypes: typeof TABLE_COLUMN_TYPES_ENUM;
981
+ protected readonly filterOperators: typeof FILTER_OPERATOR_TYPE_ENUM;
982
+ /** Indicates is mobile view */
983
+ isMobile: InputSignalWithTransform<boolean, BooleanInput>;
984
+ /** Indicates are table rows clickable */
985
+ isTableRowsClickable: InputSignalWithTransform<boolean, BooleanInput>;
986
+ /** Key of ENTITY_TYPE for compare entities */
987
+ keyExp: InputSignal<NonNullable<KEY>>;
988
+ /** List of entities */
989
+ entities: InputSignalWithTransform<ENTITY_TYPE[], ENTITY_TYPE[]>;
990
+ /** Current page model from store */
991
+ currentSortModel: InputSignal<Nullable<SortModel<SORT_PROPERTY>>>;
992
+ /** Current elements appearance */
993
+ appearance: InputSignal<MatFormFieldAppearance>;
994
+ /** Filter inputs appearance */
995
+ filterAppearance: InputSignal<MatFormFieldAppearance>;
996
+ /** Current filter model from store */
997
+ filterModel: InputSignalWithTransform<FilterModel<KEY>[], FilterModel<KEY>[]>;
998
+ /** Indicates is filters shown */
999
+ isFiltersShown: InputSignalWithTransform<boolean, BooleanInput>;
1000
+ /** Row click output action */
1001
+ readonly rowClick: OutputEmitterRef<NonNullable<{
1002
+ row: ENTITY_TYPE;
1003
+ event: MouseEvent;
1004
+ }>>;
1005
+ /** Row doubleClick output action */
1006
+ readonly rowDoubleClick: OutputEmitterRef<NonNullable<ENTITY_TYPE>>;
1007
+ /** Sort change output action */
1008
+ readonly sortChange: OutputEmitterRef<SortModel<SORT_PROPERTY>>;
1009
+ /** Filter change output action */
1010
+ readonly filterChange: OutputEmitterRef<FilterModel<KEY>[]>;
1011
+ /** Columns config for table */
1012
+ columns: Signal<Array<ITable.Column<ENTITY_TYPE>>>;
1013
+ /** Custom cells template */
1014
+ readonly customCellsTpl: Signal<Nullable<RtuiCustomTableCellsDirective<ENTITY_TYPE>>>;
1015
+ /** Row actions template */
1016
+ readonly rowActionsTpl: Signal<Nullable<TemplateRef<{
1017
+ $implicit: ENTITY_TYPE;
1018
+ }>>>;
1019
+ /** Additional row actions template */
1020
+ readonly additionalRowActionsTpl: Signal<Nullable<TemplateRef<RtuiTableAdditionalRowActionsDirective>>>;
1021
+ /** Fields specified by the directive */
1022
+ /** List of selected entities ids */
1023
+ readonly selectedEntitiesIds: WritableSignal<ENTITY_TYPE[KEY][]>;
1024
+ /** Indicates are all page entities selected */
1025
+ readonly isPageEntitiesSelected: WritableSignal<boolean>;
1026
+ /** Indicates are some page entities selected */
1027
+ readonly isPageEntitiesIndeterminate: WritableSignal<boolean>;
1028
+ /** Indicates is multiselect mod enabled */
1029
+ readonly isMultiSelect: WritableSignal<boolean>;
1030
+ /** Indicates is selectors column shown */
1031
+ readonly isSelectorsColumnShown: WritableSignal<boolean>;
1032
+ /** Indicates is selectors column disabled */
1033
+ readonly isSelectorsColumnDisabled: WritableSignal<boolean>;
1034
+ /** Current row index */
1035
+ readonly activeRowIndex: WritableSignal<Nullable<number>>;
1036
+ ngAfterViewChecked(): void;
1037
+ /** Sort change output action */
1038
+ onSortChange(sortModel: SortModel<string>): void;
1039
+ /** Filter change output action */
1040
+ onFilterChange(filterModel: FilterModel<KEY>[]): void;
1041
+ /** Open row actions menu */
1042
+ onMenuOpen(index: number): void;
1043
+ /** Close the row actions menu */
1044
+ onMenuClose(): void;
1045
+ /** Row click output actions */
1046
+ onRowClick(row: NonNullable<ENTITY_TYPE>, event: MouseEvent): void;
1047
+ /** Row doubleClick output action */
1048
+ onRowDoubleClick(row: NonNullable<ENTITY_TYPE>): void;
1049
+ /** Empty methods set in selectors directive */
1050
+ onToggleEntity: (entity: ENTITY_TYPE, checked: boolean) => void;
1051
+ onTogglePageEntities: (checked: boolean) => void;
1052
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiTableComponent<any, any, any>, never>;
1053
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiTableComponent<any, any, any>, "rtui-table", never, { "isMobile": { "alias": "isMobile"; "required": false; "isSignal": true; }; "isTableRowsClickable": { "alias": "isTableRowsClickable"; "required": false; "isSignal": true; }; "keyExp": { "alias": "keyExp"; "required": false; "isSignal": true; }; "entities": { "alias": "entities"; "required": true; "isSignal": true; }; "currentSortModel": { "alias": "currentSortModel"; "required": true; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": true; "isSignal": true; }; "filterAppearance": { "alias": "filterAppearance"; "required": false; "isSignal": true; }; "filterModel": { "alias": "filterModel"; "required": false; "isSignal": true; }; "isFiltersShown": { "alias": "isFiltersShown"; "required": false; "isSignal": true; }; }, { "rowClick": "rowClick"; "rowDoubleClick": "rowDoubleClick"; "sortChange": "sortChange"; "filterChange": "filterChange"; }, ["customCellsTpl", "rowActionsTpl", "additionalRowActionsTpl"], never, true, never>;
1054
+ }
1055
+
1056
+ declare class RtuiTableContainerComponent<ENTITY_TYPE> implements OnInit {
1057
+ #private;
1058
+ appearance: InputSignal<MatFormFieldAppearance>;
1059
+ /** Table config storage key */
1060
+ tableConfigStorageKey: InputSignalWithTransform<string, string>;
1061
+ /** Current page model from store */
1062
+ pageModel: InputSignal<PageModel>;
1063
+ /** Indicates is mobile view */
1064
+ isMobile: InputSignalWithTransform<boolean, BooleanInput>;
1065
+ /** Indicates is loading in progress */
1066
+ loading: InputSignalWithTransform<boolean, BooleanInput>;
1067
+ /** Indicates is fetching in progress */
1068
+ fetching: InputSignalWithTransform<boolean, BooleanInput>;
1069
+ /** Indicates is placeholder shown */
1070
+ isPlaceholderShown: InputSignalWithTransform<boolean, BooleanInput>;
1071
+ /** Indicates is pagination shown */
1072
+ isPaginationShown: InputSignalWithTransform<boolean, BooleanInput>;
1073
+ /** Indicates is the refresh button shown */
1074
+ isRefreshButtonShown: InputSignalWithTransform<boolean, BooleanInput>;
1075
+ /** Indicates is a table config button shown */
1076
+ isTableConfigButtonShown: InputSignalWithTransform<boolean, BooleanInput>;
1077
+ /** Indicates is toolbar buttons outlined */
1078
+ isToolbarActionsIconsOutlined: InputSignalWithTransform<boolean, BooleanInput>;
1079
+ /** Indicates is filters shown */
1080
+ isFiltersShown: InputSignalWithTransform<boolean, BooleanInput>;
1081
+ /** Indicates is filters empty */
1082
+ isFiltersEmpty: InputSignalWithTransform<boolean, BooleanInput>;
1083
+ /** Current search term from store */
1084
+ searchTerm: InputSignalWithTransform<Nullable<string>, Nullable<string>>;
1085
+ /** Current placeholder icon */
1086
+ placeholderIcon: InputSignal<string>;
1087
+ /** Current placeholder title */
1088
+ placeholderTitle: InputSignal<string>;
1089
+ /** Indicates is a small tablet view */
1090
+ readonly isSmallTablet: Signal<Nullable<boolean>>;
1091
+ /** Config for table */
1092
+ readonly tableConfig: Signal<ITable.Config.Data<ENTITY_TYPE>>;
1093
+ /** Page model change output action */
1094
+ readonly pageModelChange: OutputEmitterRef<Partial<PageModel>>;
1095
+ /** Search change output action */
1096
+ readonly searchChange: OutputEmitterRef<Nullable<string>>;
1097
+ /** Refresh output action */
1098
+ readonly refreshAction: OutputEmitterRef<void>;
1099
+ /** Clear filters output action */
1100
+ readonly clearFiltersAction: OutputEmitterRef<void>;
1101
+ /** Toolbar selectors template */
1102
+ readonly toolbarSelectorsTpl: Signal<Nullable<TemplateRef<Type<unknown>>>>;
1103
+ /** Toolbar actions template */
1104
+ readonly toolbarActionsTpl: Signal<Nullable<TemplateRef<Type<unknown>>>>;
1105
+ /** Fields specified by the directive */
1106
+ /** Indicates is multiselect mod enabled */
1107
+ readonly isMultiSelect: WritableSignal<boolean>;
1108
+ /** Indicates is 'Select All' selector shown */
1109
+ readonly isSelectAllSelectorShown: WritableSignal<boolean>;
1110
+ /** Indicates is 'Select All' selector disabled */
1111
+ readonly isSelectAllSelectorDisabled: WritableSignal<boolean>;
1112
+ /** Indicates is all entities selected */
1113
+ readonly isAllEntitiesSelected: WritableSignal<boolean>;
1114
+ /** Indicates is all entities indeterminate */
1115
+ readonly isAllEntitiesIndeterminate: WritableSignal<boolean>;
1116
+ /** Current selected entities count */
1117
+ readonly selectedEntitiesCount: WritableSignal<number>;
1118
+ /** Control for search */
1119
+ readonly searchControl: FormControl<Nullable<string>>;
1120
+ ngOnInit(): void;
1121
+ /** Page model change output action */
1122
+ onPageModelChange(pageModel: Partial<PageModel>): void;
1123
+ /** Clear search control and search change output action */
1124
+ onClearSearch(): void;
1125
+ /** Refresh output action */
1126
+ onRefresh(): void;
1127
+ /** Clear filters output action */
1128
+ onClearFilters(): void;
1129
+ /** Open table config aside */
1130
+ onOpenConfigAside(): void;
1131
+ /** Empty method, set in selectors directive */
1132
+ onToggleAllEntities: (checked: boolean) => void;
1133
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiTableContainerComponent<any>, never>;
1134
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiTableContainerComponent<any>, "rtui-table-container", never, { "appearance": { "alias": "appearance"; "required": true; "isSignal": true; }; "tableConfigStorageKey": { "alias": "tableConfigStorageKey"; "required": true; "isSignal": true; }; "pageModel": { "alias": "pageModel"; "required": true; "isSignal": true; }; "isMobile": { "alias": "isMobile"; "required": true; "isSignal": true; }; "loading": { "alias": "loading"; "required": true; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": true; "isSignal": true; }; "isPlaceholderShown": { "alias": "isPlaceholderShown"; "required": true; "isSignal": true; }; "isPaginationShown": { "alias": "isPaginationShown"; "required": false; "isSignal": true; }; "isRefreshButtonShown": { "alias": "isRefreshButtonShown"; "required": false; "isSignal": true; }; "isTableConfigButtonShown": { "alias": "isTableConfigButtonShown"; "required": false; "isSignal": true; }; "isToolbarActionsIconsOutlined": { "alias": "isToolbarActionsIconsOutlined"; "required": false; "isSignal": true; }; "isFiltersShown": { "alias": "isFiltersShown"; "required": false; "isSignal": true; }; "isFiltersEmpty": { "alias": "isFiltersEmpty"; "required": false; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; "placeholderIcon": { "alias": "placeholderIcon"; "required": false; "isSignal": true; }; "placeholderTitle": { "alias": "placeholderTitle"; "required": false; "isSignal": true; }; }, { "pageModelChange": "pageModelChange"; "searchChange": "searchChange"; "refreshAction": "refreshAction"; "clearFiltersAction": "clearFiltersAction"; }, ["toolbarSelectorsTpl", "toolbarActionsTpl"], ["*"], true, never>;
1135
+ }
1136
+
1137
+ /** Directive for selectors of the toolbar located on the left side */
1138
+ declare class RtuiDynamicListToolbarSelectorsDirective {
1139
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicListToolbarSelectorsDirective, never>;
1140
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiDynamicListToolbarSelectorsDirective, "[rtuiDynamicListToolbarSelectorsDirective]", never, {}, {}, never, never, true, never>;
1141
+ }
1142
+ /** Directive for actions of the toolbar located on the right side */
1143
+ declare class RtuiDynamicListToolbarActionsDirective {
1144
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicListToolbarActionsDirective, never>;
1145
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiDynamicListToolbarActionsDirective, "[rtuiDynamicListToolbarActionsDirective]", never, {}, {}, never, never, true, never>;
1146
+ }
1147
+ /** Directive for custom table cells */
1148
+ declare class RtuiDynamicListCustomTableCellsDirective<ENTITY_TYPE> {
1149
+ cellsTemplates: InputSignal<{
1150
+ [K in keyof ENTITY_TYPE]: TemplateRef<{
1151
+ $implicit: ENTITY_TYPE;
1152
+ }>;
1153
+ }>;
1154
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicListCustomTableCellsDirective<any>, never>;
1155
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiDynamicListCustomTableCellsDirective<any>, "[rtuiDynamicListCustomTableCellsDirective]", never, { "cellsTemplates": { "alias": "rtuiDynamicListCustomTableCellsDirective"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
1156
+ }
1157
+ /** Directive for row actions located inside a row menu button */
1158
+ declare class RtuiDynamicListRowActionsDirective {
1159
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicListRowActionsDirective, never>;
1160
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiDynamicListRowActionsDirective, "[rtuiDynamicListRowActionsDirective]", never, {}, {}, never, never, true, never>;
1161
+ }
1162
+ /** Directive for row actions located outside a row menu button */
1163
+ declare class RtuiDynamicListRowAdditionalActionsDirective {
1164
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicListRowAdditionalActionsDirective, never>;
1165
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiDynamicListRowAdditionalActionsDirective, "[rtuiDynamicListRowAdditionalActionsDirective]", never, {}, {}, never, never, true, never>;
1166
+ }
1167
+ declare class RtuiDynamicListComponent<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY extends Extract<keyof ENTITY_TYPE, string>, KEY extends Extract<keyof ENTITY_TYPE, string>> {
1168
+ /** Table config storage key */
1169
+ tableConfigStorageKey: InputSignalWithTransform<string, unknown>;
1170
+ /** Indicates is mobile view */
1171
+ isMobile: InputSignalWithTransform<Nullable<boolean>, BooleanInput>;
1172
+ /** Indicates is loading in progress */
1173
+ loading: InputSignalWithTransform<boolean, BooleanInput>;
1174
+ /** Indicates is fetching in progress */
1175
+ fetching: InputSignalWithTransform<boolean, BooleanInput>;
1176
+ /** Indicates are table rows clickable */
1177
+ isTableRowsClickable: InputSignalWithTransform<boolean, BooleanInput>;
1178
+ /** Indicates is pagination shown */
1179
+ isPaginationShown: InputSignalWithTransform<boolean, BooleanInput>;
1180
+ /** Indicates is the refresh button shown */
1181
+ isRefreshButtonShown: InputSignalWithTransform<boolean, BooleanInput>;
1182
+ /** Indicates is a table config button shown */
1183
+ isTableConfigButtonShown: InputSignalWithTransform<boolean, BooleanInput>;
1184
+ /** Indicates is toolbar buttons outlined */
1185
+ isToolbarActionsIconsOutlined: InputSignalWithTransform<boolean, BooleanInput>;
1186
+ /** Key of ENTITY_TYPE for compare entities */
1187
+ keyExp: InputSignal<NonNullable<KEY>>;
1188
+ /** List of entities */
1189
+ entities: InputSignalWithTransform<ENTITY_TYPE[], ENTITY_TYPE[]>;
1190
+ /** Current page model from store */
1191
+ pageModel: InputSignal<PageModel>;
1192
+ /** Current search term from store */
1193
+ searchTerm: InputSignal<Nullable<string>>;
1194
+ /** Current sort model from store */
1195
+ currentSortModel: InputSignal<Nullable<SortModel<NonNullable<KEY>>>>;
1196
+ /** Inputs appearance */
1197
+ appearance: InputSignal<MatFormFieldAppearance>;
1198
+ /** Filter inputs appearance */
1199
+ filterAppearance: InputSignal<MatFormFieldAppearance>;
1200
+ /** Current filter model from store */
1201
+ filterModel: InputSignalWithTransform<FilterModel<KEY>[], FilterModel<KEY>[]>;
1202
+ /** Indicates is filters shown */
1203
+ isFiltersShown: InputSignalWithTransform<boolean, BooleanInput>;
1204
+ /** Sort model change output action */
1205
+ readonly sortChange: OutputEmitterRef<SortModel<NonNullable<KEY>>>;
1206
+ /** Page model change output action */
1207
+ readonly pageModelChange: OutputEmitterRef<Partial<PageModel>>;
1208
+ /** Search change output action */
1209
+ readonly searchChange: OutputEmitterRef<Nullable<string>>;
1210
+ /** Refresh output action */
1211
+ readonly refresh: OutputEmitterRef<void>;
1212
+ /** Clear filters output action */
1213
+ readonly clearFiltersAction: OutputEmitterRef<void>;
1214
+ /** Row click output action */
1215
+ readonly rowClick: OutputEmitterRef<NonNullable<{
1216
+ row: ENTITY_TYPE;
1217
+ event: MouseEvent;
1218
+ }>>;
1219
+ /** Row doubleClick output action */
1220
+ readonly rowDoubleClick: OutputEmitterRef<NonNullable<ENTITY_TYPE>>;
1221
+ /** Filter change output action */
1222
+ readonly filterChange: OutputEmitterRef<FilterModel<KEY>[]>;
1223
+ /** Toolbar selectors template */
1224
+ readonly toolbarSelectorsTpl: Signal<Nullable<TemplateRef<Type<unknown>>>>;
1225
+ /** Toolbar actions template */
1226
+ readonly toolbarActionsTpl: Signal<Nullable<TemplateRef<Type<unknown>>>>;
1227
+ /** Custom cells template */
1228
+ readonly customCellsTpl: Signal<Nullable<RtuiDynamicListCustomTableCellsDirective<{
1229
+ $implicit: ENTITY_TYPE;
1230
+ }>>>;
1231
+ /** Row actions template */
1232
+ readonly rowActionsTpl: Signal<Nullable<TemplateRef<{
1233
+ $implicit: ENTITY_TYPE;
1234
+ }>>>;
1235
+ /** Additional row actions template */
1236
+ readonly additionalRowActionsTpl: Signal<Nullable<TemplateRef<{
1237
+ $implicit: ENTITY_TYPE;
1238
+ }>>>;
1239
+ /** Table container for selectors directive usage */
1240
+ readonly tableContainerTpl: Signal<Nullable<RtuiTableContainerComponent<ENTITY_TYPE>>>;
1241
+ /** Table selector for selectors directive usage */
1242
+ readonly tableTpl: Signal<Nullable<RtuiTableComponent<ENTITY_TYPE, SORT_PROPERTY, KEY>>>;
1243
+ /** Search change output action */
1244
+ onSearchChange(value: Nullable<string>): void;
1245
+ /** Sort change output action */
1246
+ onSortChange(sortModel: SortModel<NonNullable<KEY>>): void;
1247
+ /** Page model change output action */
1248
+ onPageModelChange(pageModel: Partial<PageModel>): void;
1249
+ /** Filter change output action */
1250
+ onFilterChange(filterModel: FilterModel<KEY>[]): void;
1251
+ /** Refresh output action */
1252
+ onRefresh(): void;
1253
+ /** Clear filters output action */
1254
+ onClearFilters(): void;
1255
+ /** Row click output action */
1256
+ onRowClick({ row, event }: {
1257
+ row: ENTITY_TYPE;
1258
+ event: MouseEvent;
1259
+ }): void;
1260
+ /** Row doubleClick output action */
1261
+ onRowDoubleClick(row: ENTITY_TYPE): void;
1262
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicListComponent<any, any, any>, never>;
1263
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiDynamicListComponent<any, any, any>, "rtui-dynamic-list", never, { "tableConfigStorageKey": { "alias": "tableConfigStorageKey"; "required": true; "isSignal": true; }; "isMobile": { "alias": "isMobile"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": false; "isSignal": true; }; "isTableRowsClickable": { "alias": "isTableRowsClickable"; "required": false; "isSignal": true; }; "isPaginationShown": { "alias": "isPaginationShown"; "required": false; "isSignal": true; }; "isRefreshButtonShown": { "alias": "isRefreshButtonShown"; "required": false; "isSignal": true; }; "isTableConfigButtonShown": { "alias": "isTableConfigButtonShown"; "required": false; "isSignal": true; }; "isToolbarActionsIconsOutlined": { "alias": "isToolbarActionsIconsOutlined"; "required": false; "isSignal": true; }; "keyExp": { "alias": "keyExp"; "required": false; "isSignal": true; }; "entities": { "alias": "entities"; "required": true; "isSignal": true; }; "pageModel": { "alias": "pageModel"; "required": true; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": true; "isSignal": true; }; "currentSortModel": { "alias": "currentSortModel"; "required": true; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": true; "isSignal": true; }; "filterAppearance": { "alias": "filterAppearance"; "required": false; "isSignal": true; }; "filterModel": { "alias": "filterModel"; "required": false; "isSignal": true; }; "isFiltersShown": { "alias": "isFiltersShown"; "required": false; "isSignal": true; }; }, { "sortChange": "sortChange"; "pageModelChange": "pageModelChange"; "searchChange": "searchChange"; "refresh": "refresh"; "clearFiltersAction": "clearFiltersAction"; "rowClick": "rowClick"; "rowDoubleClick": "rowDoubleClick"; "filterChange": "filterChange"; }, ["toolbarSelectorsTpl", "toolbarActionsTpl", "customCellsTpl", "rowActionsTpl", "additionalRowActionsTpl"], never, true, never>;
1264
+ }
1265
+
1266
+ declare class RtuiStopTableRowClickDirective implements OnInit {
1267
+ #private;
1268
+ ngOnInit(): void;
1269
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiStopTableRowClickDirective, never>;
1270
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiStopTableRowClickDirective, "[rtStopTableRowClick]", never, {}, {}, never, never, true, never>;
1271
+ }
1272
+
1273
+ declare class RtuiTableRowClickDirective<ENTITY_TYPE extends Record<string, unknown>, SORT_PROPERTY extends Extract<keyof ENTITY_TYPE, string>, KEY extends Extract<keyof ENTITY_TYPE, string>> {
1274
+ #private;
1275
+ /** Row entity */
1276
+ readonly entity: InputSignal<ENTITY_TYPE>;
1277
+ /** Enabled flag */
1278
+ isTableRowClickable: InputSignalWithTransform<boolean, BooleanInput>;
1279
+ onMouseDown(event: MouseEvent): void;
1280
+ onDoubleClick(event: MouseEvent): void;
1281
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiTableRowClickDirective<any, any, any>, never>;
1282
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiTableRowClickDirective<any, any, any>, "[rtuiTableRowClickDirective]", never, { "entity": { "alias": "rtuiTableRowClickDirective"; "required": true; "isSignal": true; }; "isTableRowClickable": { "alias": "isTableRowClickable"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1283
+ }
1284
+
1285
+ /**
1286
+ * Returns a set of the necessary dependency injection providers for managing the UI.
1287
+ *
1288
+ * ```typescript
1289
+ * bootstrapApplication(RootComponent, {
1290
+ * providers: [
1291
+ * provideRtUi()
1292
+ * ]
1293
+ * });
1294
+ * ```
1295
+ *
1296
+ * @publicApi
1297
+ */
1298
+ declare function provideRtUi(): Provider[];
1299
+
1300
+ declare namespace IRtSnackBar {
1301
+ interface Config extends MatSnackBarConfig {
1302
+ icon?: Nullable<string>;
1303
+ isColoredBackground?: boolean;
1304
+ action?: Nullable<string>;
1305
+ isProgressBarShown?: boolean;
1306
+ }
1307
+ interface Data extends Config {
1308
+ message: string;
1309
+ }
1310
+ }
1311
+
1312
+ declare class RtuiSnackBarComponent {
1313
+ #private;
1314
+ readonly data: IRtSnackBar.Data;
1315
+ player: AnimationPlayer | undefined;
1316
+ readonly progressTplRef: Signal<Nullable<ElementRef<HTMLElement>>>;
1317
+ constructor();
1318
+ onMouseOver(): void;
1319
+ onMouseOut(): void;
1320
+ dismiss(): void;
1321
+ close(): void;
1322
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiSnackBarComponent, never>;
1323
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiSnackBarComponent, "rtui-snack-bar", never, {}, {}, never, never, true, never>;
1324
+ }
1325
+
1326
+ declare class RtSnackBarService {
1327
+ #private;
1328
+ private readonly defaultConfig;
1329
+ default(message: string, config?: IRtSnackBar.Config): MatSnackBarRef<RtuiSnackBarComponent>;
1330
+ warning(message: string, config?: IRtSnackBar.Config): MatSnackBarRef<RtuiSnackBarComponent>;
1331
+ danger(message: string, config?: IRtSnackBar.Config): MatSnackBarRef<RtuiSnackBarComponent>;
1332
+ success(message: string, config?: IRtSnackBar.Config): MatSnackBarRef<RtuiSnackBarComponent>;
1333
+ dismiss(): void;
1334
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtSnackBarService, never>;
1335
+ static ɵprov: i0.ɵɵInjectableDeclaration<RtSnackBarService>;
1336
+ }
1337
+
1338
+ declare const progressIncreaseAnimation: AnimationTriggerMetadata[];
1339
+ declare const progressDecreaseAnimation: AnimationTriggerMetadata[];
1340
+
1341
+ declare enum INFO_BADGE_SIZE_ENUM {
1342
+ LARGE = "l",
1343
+ MEDIUM = "m",
1344
+ SMALL = "s"
1345
+ }
1346
+ type IInfoBadgeSizeType = INFO_BADGE_SIZE_ENUM.LARGE | INFO_BADGE_SIZE_ENUM.MEDIUM | INFO_BADGE_SIZE_ENUM.SMALL;
1347
+
1348
+ declare function darkenHexColor(hex: string, percent: number): string;
1349
+ declare function getColorBasedOnBackground(backgroundColor: string): string;
1350
+
1351
+ type IconSideType = POSITION_ENUM.LEFT | POSITION_ENUM.RIGHT;
1352
+
1353
+ declare class RtuiInfoBadgeComponent implements AfterContentChecked {
1354
+ size: InputSignal<IInfoBadgeSizeType>;
1355
+ text: InputSignal<string>;
1356
+ glyph: InputSignal<string>;
1357
+ iconSide: InputSignal<IconSideType>;
1358
+ isFontBold: InputSignal<boolean>;
1359
+ isMobile: InputSignalWithTransform<Nullable<boolean>, boolean>;
1360
+ isTitleCollapsed: WritableSignal<boolean>;
1361
+ readonly contentRef: Signal<ElementRef<HTMLElement> | undefined>;
1362
+ get badgeClass(): {
1363
+ [key: string]: boolean | string;
1364
+ };
1365
+ get iconStyles(): {
1366
+ [key: string]: string;
1367
+ };
1368
+ ngAfterContentChecked(): void;
1369
+ checkEllipsis(): void;
1370
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiInfoBadgeComponent, never>;
1371
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiInfoBadgeComponent, "rtui-info-badge", never, { "size": { "alias": "size"; "required": true; "isSignal": true; }; "text": { "alias": "text"; "required": true; "isSignal": true; }; "glyph": { "alias": "glyph"; "required": false; "isSignal": true; }; "iconSide": { "alias": "iconSide"; "required": false; "isSignal": true; }; "isFontBold": { "alias": "isFontBold"; "required": false; "isSignal": true; }; "isMobile": { "alias": "isMobile"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
1372
+ }
1373
+
1374
+ declare enum INFO_BADGE_TYPE_ENUM {
1375
+ SUCCESS = "success",
1376
+ INFO = "info",
1377
+ WARNING = "warning",
1378
+ PRIMARY = "primary",
1379
+ DISABLED = "disabled"
1380
+ }
1381
+ type InfoBadgeType = INFO_BADGE_TYPE_ENUM.SUCCESS | INFO_BADGE_TYPE_ENUM.INFO | INFO_BADGE_TYPE_ENUM.WARNING | INFO_BADGE_TYPE_ENUM.PRIMARY | INFO_BADGE_TYPE_ENUM.DISABLED;
1382
+
1383
+ declare enum TOGGLE_SIZE_TYPE_ENUM {
1384
+ SM = "sm",
1385
+ MD = "md"
1386
+ }
1387
+ type ToggleSizeType = TOGGLE_SIZE_TYPE_ENUM.SM | TOGGLE_SIZE_TYPE_ENUM.MD;
1388
+
1389
+ declare class RtuiToggleComponent implements OnInit, ControlValueAccessor {
1390
+ #private;
1391
+ formControl: FormControl<boolean>;
1392
+ label: InputSignal<Nullable<string>>;
1393
+ tooltip: InputSignal<string>;
1394
+ size: InputSignal<ToggleSizeType>;
1395
+ tooltipPosition: InputSignal<TooltipPosition>;
1396
+ isDisabled: InputSignalWithTransform<boolean, BooleanInput>;
1397
+ tooltipDisabled: InputSignalWithTransform<boolean, BooleanInput>;
1398
+ readonly isMobile: Signal<Nullable<boolean>>;
1399
+ ngOnInit(): void;
1400
+ writeValue(value: boolean): void;
1401
+ registerOnChange(fn: () => void): void;
1402
+ registerOnTouched(fn: () => void): void;
1403
+ setDisabledState(): void;
1404
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiToggleComponent, never>;
1405
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiToggleComponent, "rtui-toggle", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; "tooltipDisabled": { "alias": "tooltipDisabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1406
+ }
1407
+
1408
+ declare class RtuiFileUploadComponent {
1409
+ isIconOutlined: InputSignal<boolean>;
1410
+ readonly uploadFile: OutputEmitterRef<File>;
1411
+ readonly isDragOver: WritableSignal<boolean>;
1412
+ onDragOver(event: DragEvent): void;
1413
+ onDragLeave(event: DragEvent): void;
1414
+ onDrop(event: DragEvent): void;
1415
+ onFileSelect(event: Event): void;
1416
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiFileUploadComponent, never>;
1417
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiFileUploadComponent, "rtui-file-upload", never, { "isIconOutlined": { "alias": "isIconOutlined"; "required": false; "isSignal": true; }; }, { "uploadFile": "uploadFile"; }, never, never, true, never>;
1418
+ }
1419
+
1420
+ declare abstract class RtuiDynamicSelectorsDirective {
1421
+ /** Indicates if mobile view */
1422
+ isMobile: InputSignalWithTransform<Nullable<boolean>, boolean>;
1423
+ /** Selections control button title */
1424
+ buttonTitle: InputSignalWithTransform<string, string>;
1425
+ /** Indicates if only one option can be chosen */
1426
+ isSingleSelection: InputSignalWithTransform<boolean, boolean>;
1427
+ /** Indicates is selector disabled */
1428
+ disabled: InputSignalWithTransform<boolean, boolean>;
1429
+ /** Indicates is break string pipe used */
1430
+ useNameBreaking: InputSignalWithTransform<boolean, boolean>;
1431
+ /** Indicates is title case pipe used */
1432
+ useTitleCase: InputSignalWithTransform<boolean, boolean>;
1433
+ isPlaceholderIconOutlined: InputSignalWithTransform<boolean, boolean>;
1434
+ /** Indicates is delete entity button from the selected list shown */
1435
+ isDeleteButtonShown: InputSignalWithTransform<boolean, boolean>;
1436
+ /** Indicates is list of items draggable */
1437
+ isListDraggable: InputSignalWithTransform<boolean, boolean>;
1438
+ /** Placeholder icon */
1439
+ placeholderIcon: InputSignalWithTransform<string, string>;
1440
+ /** Placeholder description */
1441
+ placeholderDescription: InputSignalWithTransform<string, string>;
1442
+ /** Material elements appearance */
1443
+ appearance: InputSignal<MatFormFieldAppearance>;
1444
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicSelectorsDirective, never>;
1445
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiDynamicSelectorsDirective, never, never, { "isMobile": { "alias": "isMobile"; "required": true; "isSignal": true; }; "buttonTitle": { "alias": "buttonTitle"; "required": false; "isSignal": true; }; "isSingleSelection": { "alias": "isSingleSelection"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "useNameBreaking": { "alias": "useNameBreaking"; "required": false; "isSignal": true; }; "useTitleCase": { "alias": "useTitleCase"; "required": false; "isSignal": true; }; "isPlaceholderIconOutlined": { "alias": "isPlaceholderIconOutlined"; "required": false; "isSignal": true; }; "isDeleteButtonShown": { "alias": "isDeleteButtonShown"; "required": false; "isSignal": true; }; "isListDraggable": { "alias": "isListDraggable"; "required": false; "isSignal": true; }; "placeholderIcon": { "alias": "placeholderIcon"; "required": false; "isSignal": true; }; "placeholderDescription": { "alias": "placeholderDescription"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1446
+ }
1447
+
1448
+ interface FormModel$1 {
1449
+ autocompleteControl: FormControl<Nullable<string>>;
1450
+ }
1451
+ /** Directive for row actions located outside a row menu button */
1452
+ declare class RtuiDynamicSelectorAdditionalControlDirective {
1453
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicSelectorAdditionalControlDirective, never>;
1454
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiDynamicSelectorAdditionalControlDirective, "[rtuiDynamicSelectorAdditionalControlDirective]", never, {}, {}, never, never, true, never>;
1455
+ }
1456
+ declare class RtuiDynamicSelectorComponent<ENTITY extends Record<string, unknown>, KEY extends Extract<keyof ENTITY, string>> extends RtuiDynamicSelectorsDirective implements ControlValueAccessor, Validator, OnInit {
1457
+ #private;
1458
+ /** Config for overlay selector */
1459
+ protected readonly connectedOverlayPositions: ConnectedPosition[];
1460
+ form: FormGroup<FormModel$1>;
1461
+ /** Target element for overlay selector */
1462
+ selectedOverlayTrigger: Nullable<CdkOverlayOrigin>;
1463
+ /** A model's field which should be used for http-requests */
1464
+ keyExp: InputSignal<KEY>;
1465
+ /** A model's field which should be shown in ui */
1466
+ displayExp: InputSignal<KEY>;
1467
+ /** All entities available entities */
1468
+ entities: InputSignalWithTransform<ENTITY[], ENTITY[]>;
1469
+ /** Navigation button title for popup actions */
1470
+ navigateButtonTitle: InputSignal<string>;
1471
+ /** Navigation button link for popup actions */
1472
+ navigateLink: InputSignal<string>;
1473
+ /** Entity keys that can't be changed */
1474
+ readonlyEntitiesKeys: InputSignalWithTransform<ENTITY[KEY][], ENTITY[KEY][]>;
1475
+ /** Selected entities */
1476
+ chosenEntities: ModelSignal<ENTITY[]>;
1477
+ /** Indicates is selection available */
1478
+ isSelectionAvailable: InputSignalWithTransform<boolean, BooleanInput>;
1479
+ /** Indicates is placeholder shown */
1480
+ isPlaceholderShown: InputSignalWithTransform<boolean, BooleanInput>;
1481
+ /** Indicates that a list of entities is being loading */
1482
+ loading: InputSignalWithTransform<boolean, BooleanInput>;
1483
+ /** Indicates that a list of entities is being pending */
1484
+ pending: InputSignalWithTransform<boolean, BooleanInput>;
1485
+ /** Indicates that a list of entities is being fetching */
1486
+ fetching: InputSignalWithTransform<boolean, BooleanInput>;
1487
+ /** Indicates lazy loading is used */
1488
+ isLazyLoad: InputSignalWithTransform<boolean, BooleanInput>;
1489
+ /** Indicates local search is used */
1490
+ isLocalSearch: InputSignalWithTransform<boolean, BooleanInput>;
1491
+ /** Indicates is change multi select mode toggle shown */
1492
+ isMultiToggleShown: InputSignalWithTransform<boolean, BooleanInput>;
1493
+ /** Indicates is Select all button shown */
1494
+ isSelectAllButtonShown: InputSignalWithTransform<boolean, BooleanInput>;
1495
+ /** Indicates is Open popup button shown */
1496
+ isOpenPopupButtonShown: InputSignalWithTransform<boolean, BooleanInput>;
1497
+ /** Init search term value */
1498
+ searchTerm: InputSignal<string>;
1499
+ /** Indicates that an additional control has been changed */
1500
+ additionalControlChanged: InputSignal<boolean>;
1501
+ /** Output search action */
1502
+ readonly searchAction: OutputEmitterRef<string>;
1503
+ /** Output scroll action, needed for lazy loading */
1504
+ readonly scrollAction: OutputEmitterRef<void>;
1505
+ /** Output temporary selection action, needed for store values */
1506
+ readonly temporarySelectAction: OutputEmitterRef<ENTITY[]>;
1507
+ /** Output reset list to initial value action */
1508
+ readonly resetAction: OutputEmitterRef<void>;
1509
+ /** Output selection change action */
1510
+ readonly selectionChangeAction: OutputEmitterRef<ENTITY[]>;
1511
+ /** Current selected entities */
1512
+ readonly selectedEntities: Signal<ENTITY[]>;
1513
+ /** Indicates is popup selector visible */
1514
+ readonly isSelectionControlShown: WritableSignal<boolean>;
1515
+ /** Indicates is no data */
1516
+ readonly isNoDataPlaceholderShown: Signal<boolean>;
1517
+ /** Indicates reset selected button is disabled */
1518
+ readonly isResetButtonDisabled: Signal<boolean>;
1519
+ /** Indicates clear selected button is disabled */
1520
+ readonly isClearButtonDisabled: Signal<boolean>;
1521
+ /** Entities can be chosen, except selected on init */
1522
+ readonly entitiesToSelect: Signal<ENTITY[]>;
1523
+ /** Additional control for entity */
1524
+ readonly additionalControlTpl: Signal<Nullable<TemplateRef<{
1525
+ $implicit: ENTITY;
1526
+ }>>>;
1527
+ ngOnInit(): void;
1528
+ writeValue(value: Array<ENTITY[KEY]>): void;
1529
+ registerOnChange(fn: (value: Array<ENTITY[KEY]>) => void): void;
1530
+ registerOnTouched(fn: () => void): void;
1531
+ validate(): ValidationErrors | null;
1532
+ registerOnValidatorChange(fn: () => void): void;
1533
+ /** Show popup selector */
1534
+ showSelectionControl(trigger: CdkOverlayOrigin): void;
1535
+ /** Hide popup selector */
1536
+ hideSelectionControl(): void;
1537
+ /** Add entity to or delete entity from list of selected */
1538
+ toggleEntity(keyValue: ENTITY[KEY]): void;
1539
+ /** Clear list of selected entities ids */
1540
+ clearList(): void;
1541
+ /** Reset list of selected entities ids to init value */
1542
+ resetList(): void;
1543
+ /** Proceed selected entities ids */
1544
+ select(values: ENTITY[KEY][]): void;
1545
+ /** Scroll action, needed for lazy load mode */
1546
+ scroll(): void;
1547
+ /** Search action */
1548
+ search(searchTerm: string): void;
1549
+ /** Set temporary selection, needed for lazy load mode */
1550
+ setTemporarySelection(values: ENTITY[]): void;
1551
+ /** Proceed move items in list */
1552
+ onDrop(event: CdkDragDrop<ENTITY[]>): void;
1553
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicSelectorComponent<any, any>, never>;
1554
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiDynamicSelectorComponent<any, any>, "rtui-dynamic-selector", never, { "keyExp": { "alias": "keyExp"; "required": true; "isSignal": true; }; "displayExp": { "alias": "displayExp"; "required": true; "isSignal": true; }; "entities": { "alias": "entities"; "required": true; "isSignal": true; }; "navigateButtonTitle": { "alias": "navigateButtonTitle"; "required": false; "isSignal": true; }; "navigateLink": { "alias": "navigateLink"; "required": false; "isSignal": true; }; "readonlyEntitiesKeys": { "alias": "readonlyEntitiesKeys"; "required": false; "isSignal": true; }; "chosenEntities": { "alias": "chosenEntities"; "required": false; "isSignal": true; }; "isSelectionAvailable": { "alias": "isSelectionAvailable"; "required": false; "isSignal": true; }; "isPlaceholderShown": { "alias": "isPlaceholderShown"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "pending": { "alias": "pending"; "required": false; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": false; "isSignal": true; }; "isLazyLoad": { "alias": "isLazyLoad"; "required": false; "isSignal": true; }; "isLocalSearch": { "alias": "isLocalSearch"; "required": false; "isSignal": true; }; "isMultiToggleShown": { "alias": "isMultiToggleShown"; "required": false; "isSignal": true; }; "isSelectAllButtonShown": { "alias": "isSelectAllButtonShown"; "required": false; "isSignal": true; }; "isOpenPopupButtonShown": { "alias": "isOpenPopupButtonShown"; "required": false; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; "additionalControlChanged": { "alias": "additionalControlChanged"; "required": false; "isSignal": true; }; }, { "chosenEntities": "chosenEntitiesChange"; "searchAction": "searchAction"; "scrollAction": "scrollAction"; "temporarySelectAction": "temporarySelectAction"; "resetAction": "resetAction"; "selectionChangeAction": "selectionChangeAction"; }, ["additionalControlTpl"], never, true, never>;
1555
+ }
1556
+
1557
+ interface FormModel {
1558
+ control: FormControl<string[]>;
1559
+ controlForUi: FormControl<Nullable<string>>;
1560
+ }
1561
+ /** Directive for row actions located outside a row menu button */
1562
+ declare class RtuiDynamicInputAdditionalControlDirective {
1563
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicInputAdditionalControlDirective, never>;
1564
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiDynamicInputAdditionalControlDirective, "[rtuiDynamicInputAdditionalControlDirective]", never, {}, {}, never, never, true, never>;
1565
+ }
1566
+ declare class RtuiDynamicInputComponent extends RtuiDynamicSelectorsDirective implements ControlValueAccessor, Validator, OnInit {
1567
+ #private;
1568
+ form: FormGroup<FormModel>;
1569
+ /** Indicates is placeholder shown */
1570
+ isPlaceholderShown: ModelSignal<Nullable<boolean>>;
1571
+ /** Indicates is inputs-editable */
1572
+ isInputsEditable: InputSignalWithTransform<boolean, BooleanInput>;
1573
+ /** Input label */
1574
+ inputLabel: InputSignalWithTransform<string, unknown>;
1575
+ /** Input placeholder */
1576
+ inputPlaceholder: InputSignalWithTransform<string, unknown>;
1577
+ /** Entity keys that can't be changed */
1578
+ readonlyEntitiesKeys: InputSignalWithTransform<string[], string[]>;
1579
+ /** Array of selected entities */
1580
+ readonly selectedEntities: WritableSignal<Array<{
1581
+ id: string;
1582
+ }>>;
1583
+ /** Indicates is input control shown */
1584
+ readonly isInputControlShown: WritableSignal<boolean>;
1585
+ /** Indicates the reset changes button is disabled */
1586
+ readonly isResetButtonDisabled: WritableSignal<boolean>;
1587
+ /** Additional control for entity */
1588
+ readonly additionalControlTpl: Signal<Nullable<TemplateRef<{
1589
+ $implicit: string;
1590
+ }>>>;
1591
+ ngOnInit(): void;
1592
+ writeValue(value: string[]): void;
1593
+ registerOnChange(fn: (value: string[]) => void): void;
1594
+ registerOnTouched(fn: () => void): void;
1595
+ validate(): ValidationErrors | null;
1596
+ registerOnValidatorChange(fn: () => void): void;
1597
+ /** Hide placeholder */
1598
+ hidePlaceholder(): void;
1599
+ /** Show control */
1600
+ showSelectionControl(): void;
1601
+ /** Hide control */
1602
+ hideSelectionControl(): void;
1603
+ /** Clear list of selected entities ids */
1604
+ clearList(): void;
1605
+ /** Reset a list of selected entities ids to init value */
1606
+ resetList(): void;
1607
+ /** Add or delete entity */
1608
+ toggleEntity(keyValue: string): void;
1609
+ /** Change entity value */
1610
+ changeEntity(data: {
1611
+ prev: string;
1612
+ new: string;
1613
+ }): void;
1614
+ /** Add new item */
1615
+ onAddEntity(): void;
1616
+ /** Process move items in a list */
1617
+ onDrop(event: CdkDragDrop<Array<{
1618
+ id: string;
1619
+ }>>): void;
1620
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicInputComponent, never>;
1621
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiDynamicInputComponent, "rtui-dynamic-input", never, { "isPlaceholderShown": { "alias": "isPlaceholderShown"; "required": false; "isSignal": true; }; "isInputsEditable": { "alias": "isInputsEditable"; "required": false; "isSignal": true; }; "inputLabel": { "alias": "inputLabel"; "required": false; "isSignal": true; }; "inputPlaceholder": { "alias": "inputPlaceholder"; "required": false; "isSignal": true; }; "readonlyEntitiesKeys": { "alias": "readonlyEntitiesKeys"; "required": false; "isSignal": true; }; }, { "isPlaceholderShown": "isPlaceholderShownChange"; }, ["additionalControlTpl"], never, true, never>;
1622
+ }
1623
+
1624
+ declare class RtuiMultiSelectorPopupComponent<ENTITY extends Record<string, unknown>, KEY extends Extract<keyof ENTITY, string>> implements OnInit, AfterViewInit {
1625
+ #private;
1626
+ protected readonly oSTypes: typeof OSTypes;
1627
+ /** Indicates is mobile view */
1628
+ isMobile: InputSignalWithTransform<Nullable<boolean>, Nullable<boolean>>;
1629
+ entitiesToSelect: InputSignalWithTransform<ENTITY[], ENTITY[]>;
1630
+ /** Material elements appearance */
1631
+ appearance: InputSignal<MatFormFieldAppearance>;
1632
+ /** A model's field which should be used for http-requests */
1633
+ keyExp: InputSignal<KEY>;
1634
+ /** A model's field which should be shown in ui */
1635
+ displayExp: InputSignal<KEY>;
1636
+ /** Init search term value */
1637
+ searchTerm: InputSignal<string>;
1638
+ /** Navigation button title */
1639
+ navigateButtonTitle: InputSignal<string>;
1640
+ /** Navigation button link */
1641
+ navigateLink: InputSignal<string>;
1642
+ /** Indicates if only one option can be chosen */
1643
+ isSingleSelection: InputSignalWithTransform<boolean, BooleanInput>;
1644
+ /** Indicates is change multi select mode toggle shown */
1645
+ isMultiToggleShown: InputSignalWithTransform<boolean, BooleanInput>;
1646
+ /** Indicates is Select all button shown */
1647
+ isSelectAllButtonShown: InputSignalWithTransform<boolean, BooleanInput>;
1648
+ /** Indicates that a list of entities is being loading */
1649
+ loading: InputSignalWithTransform<boolean, BooleanInput>;
1650
+ /** Indicates that a list of entities is being fetching */
1651
+ fetching: InputSignalWithTransform<boolean, BooleanInput>;
1652
+ /** Indicates is BreakStringPipe used */
1653
+ useNameBreaking: InputSignalWithTransform<boolean, BooleanInput>;
1654
+ /** Indicates lazy loading is used */
1655
+ isLazyLoad: InputSignalWithTransform<Nullable<boolean>, boolean>;
1656
+ /** Indicates local search is used */
1657
+ isLocalSearch: InputSignalWithTransform<Nullable<boolean>, boolean>;
1658
+ /** Send output selected entities ids */
1659
+ readonly submitAction: OutputEmitterRef<ENTITY[KEY][]>;
1660
+ /** Close popup action */
1661
+ readonly closeAction: OutputEmitterRef<void>;
1662
+ /** Output search action */
1663
+ readonly searchAction: OutputEmitterRef<string>;
1664
+ /** Output scroll action, needed for lazy loading */
1665
+ readonly scrollAction: OutputEmitterRef<void>;
1666
+ /** Output temporary selection action, needed for store values */
1667
+ readonly temporarySelectAction: OutputEmitterRef<ENTITY[]>;
1668
+ /** Search input Ref for set focus on init */
1669
+ readonly searchInputRef: Signal<Nullable<ElementRef<HTMLInputElement>>>;
1670
+ /** Form control for search */
1671
+ readonly searchControl: FormControl<Nullable<string>>;
1672
+ /** Form control for select */
1673
+ readonly selectionControl: FormControl<ENTITY[KEY][]>;
1674
+ /** Entities filtered by local search */
1675
+ readonly filteredEntities: WritableSignal<ENTITY[]>;
1676
+ /** Selected entities */
1677
+ readonly selectedEntities: WritableSignal<ENTITY[]>;
1678
+ /** Indicates is all available entities has been selected */
1679
+ readonly isAllSelected: WritableSignal<boolean>;
1680
+ /** Indicates is multi selection mode enabled */
1681
+ readonly isMultiSelection: WritableSignal<boolean>;
1682
+ /** Indicates is macOS used */
1683
+ readonly isMacOS: Signal<boolean>;
1684
+ ngOnInit(): void;
1685
+ /** Set focus on search input */
1686
+ ngAfterViewInit(): void;
1687
+ /** Change Multi election mode */
1688
+ toggleMultiSelection(): void;
1689
+ /** Toggle select all */
1690
+ toggleSelectAll(value: boolean): void;
1691
+ /** Update selectionControl and isAllSelected checkbox state */
1692
+ itemToggle(entity: ENTITY, checked: boolean): void;
1693
+ /** Proceed select action in multi selection mode */
1694
+ onToggleItem(event: MouseEvent, entity: ENTITY, checked: boolean): void;
1695
+ /** Proceed select action in single selection mode */
1696
+ onToggleSingleItem(entity: ENTITY, checked: boolean): void;
1697
+ /** Output action, selected entities ids */
1698
+ onSubmit(): void;
1699
+ /** Close popup */
1700
+ onClose(): void;
1701
+ /** Clear search */
1702
+ onClearSearch(): void;
1703
+ /** Scroll action, needed for lazy loading mode */
1704
+ scroll(): void;
1705
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiMultiSelectorPopupComponent<any, any>, never>;
1706
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiMultiSelectorPopupComponent<any, any>, "rtui-multi-selector-popup", never, { "isMobile": { "alias": "isMobile"; "required": true; "isSignal": true; }; "entitiesToSelect": { "alias": "entitiesToSelect"; "required": true; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": true; "isSignal": true; }; "keyExp": { "alias": "keyExp"; "required": true; "isSignal": true; }; "displayExp": { "alias": "displayExp"; "required": true; "isSignal": true; }; "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; "navigateButtonTitle": { "alias": "navigateButtonTitle"; "required": false; "isSignal": true; }; "navigateLink": { "alias": "navigateLink"; "required": false; "isSignal": true; }; "isSingleSelection": { "alias": "isSingleSelection"; "required": false; "isSignal": true; }; "isMultiToggleShown": { "alias": "isMultiToggleShown"; "required": false; "isSignal": true; }; "isSelectAllButtonShown": { "alias": "isSelectAllButtonShown"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fetching": { "alias": "fetching"; "required": false; "isSignal": true; }; "useNameBreaking": { "alias": "useNameBreaking"; "required": false; "isSignal": true; }; "isLazyLoad": { "alias": "isLazyLoad"; "required": false; "isSignal": true; }; "isLocalSearch": { "alias": "isLocalSearch"; "required": false; "isSignal": true; }; }, { "submitAction": "submitAction"; "closeAction": "closeAction"; "searchAction": "searchAction"; "scrollAction": "scrollAction"; "temporarySelectAction": "temporarySelectAction"; }, never, never, true, never>;
1707
+ }
1708
+
1709
+ declare class RtuiDynamicSelectorPlaceholderComponent {
1710
+ icon: InputSignalWithTransform<string, string>;
1711
+ description: InputSignalWithTransform<string, string>;
1712
+ buttonTitle: InputSignalWithTransform<string, string>;
1713
+ isButtonShow: InputSignalWithTransform<boolean, boolean>;
1714
+ disabled: InputSignalWithTransform<boolean, boolean>;
1715
+ isIconOutlined: InputSignalWithTransform<boolean, boolean>;
1716
+ readonly submitAction: OutputEmitterRef<CdkOverlayOrigin>;
1717
+ onSubmit(trigger: CdkOverlayOrigin): void;
1718
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicSelectorPlaceholderComponent, never>;
1719
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiDynamicSelectorPlaceholderComponent, "rtui-dynamic-selector-placeholder", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "buttonTitle": { "alias": "buttonTitle"; "required": false; "isSignal": true; }; "isButtonShow": { "alias": "isButtonShow"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "isIconOutlined": { "alias": "isIconOutlined"; "required": false; "isSignal": true; }; }, { "submitAction": "submitAction"; }, never, never, true, never>;
1720
+ }
1721
+
1722
+ declare class RtuiDynamicSelectorListActionsComponent {
1723
+ isMobile: InputSignalWithTransform<Nullable<boolean>, Nullable<boolean>>;
1724
+ isResetButtonDisabled: InputSignalWithTransform<boolean, boolean>;
1725
+ isClearButtonDisabled: InputSignalWithTransform<boolean, boolean>;
1726
+ disabled: InputSignalWithTransform<boolean, boolean>;
1727
+ readonly resetAction: OutputEmitterRef<void>;
1728
+ readonly clearAction: OutputEmitterRef<void>;
1729
+ onReset(): void;
1730
+ onClear(): void;
1731
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicSelectorListActionsComponent, never>;
1732
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiDynamicSelectorListActionsComponent, "rtui-dynamic-selector-list-actions", never, { "isMobile": { "alias": "isMobile"; "required": true; "isSignal": true; }; "isResetButtonDisabled": { "alias": "isResetButtonDisabled"; "required": true; "isSignal": true; }; "isClearButtonDisabled": { "alias": "isClearButtonDisabled"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "resetAction": "resetAction"; "clearAction": "clearAction"; }, never, never, true, never>;
1733
+ }
1734
+
1735
+ /** Directive for row actions located outside a row menu button */
1736
+ declare class RtuiDynamicSelectorItemAdditionalControlDirective {
1737
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicSelectorItemAdditionalControlDirective, never>;
1738
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtuiDynamicSelectorItemAdditionalControlDirective, "[rtuiDynamicSelectorItemAdditionalControlDirective]", never, {}, {}, never, never, true, never>;
1739
+ }
1740
+ declare class RtuiDynamicSelectorSelectedListComponent<ENTITY extends Record<string, unknown>, KEY extends Extract<keyof ENTITY, string>> {
1741
+ protected readonly editedItemIndex: WritableSignal<Nullable<number>>;
1742
+ readonly inputRef: Signal<Nullable<MatInput>>;
1743
+ /** Indicates if mobile view */
1744
+ isMobile: InputSignalWithTransform<boolean, BooleanInput>;
1745
+ /** A model's field, which should be used for http-requests */
1746
+ keyExp: InputSignal<KEY>;
1747
+ /** A model's field, which should be shown in ui */
1748
+ displayExp: InputSignal<KEY>;
1749
+ /** Array of selected entities */
1750
+ selectedEntities: InputSignalWithTransform<ENTITY[], ENTITY[]>;
1751
+ /** Entity keys that can't be changed */
1752
+ readonlyEntitiesKeys: InputSignalWithTransform<ENTITY[KEY][], ENTITY[KEY][]>;
1753
+ /** Indicates is a list of items draggable */
1754
+ isListDraggable: InputSignalWithTransform<boolean, BooleanInput>;
1755
+ /** Indicates is break string pipe used */
1756
+ useNameBreaking: InputSignalWithTransform<boolean, BooleanInput>;
1757
+ /** Indicates is title case pipe used */
1758
+ useTitleCase: InputSignalWithTransform<boolean, BooleanInput>;
1759
+ /** Indicates is deleting entity button from the selected list shown */
1760
+ isDeleteButtonShown: InputSignalWithTransform<boolean, BooleanInput>;
1761
+ /** Indicates is items editable */
1762
+ isItemsEditable: InputSignalWithTransform<boolean, BooleanInput>;
1763
+ /** Material elements appearance */
1764
+ appearance: InputSignal<MatFormFieldAppearance>;
1765
+ readonly deleteFromSelectedAction: OutputEmitterRef<ENTITY[KEY]>;
1766
+ readonly dropAction: OutputEmitterRef<CdkDragDrop<ENTITY[]>>;
1767
+ readonly changeValueAction: OutputEmitterRef<{
1768
+ prev: ENTITY[KEY];
1769
+ new: string;
1770
+ }>;
1771
+ /** Additional control for entity */
1772
+ readonly additionalControlTpl: Signal<Nullable<TemplateRef<{
1773
+ $implicit: ENTITY;
1774
+ }>>>;
1775
+ protected onDelete(value: ENTITY[KEY]): void;
1776
+ protected onDrop(event: CdkDragDrop<ENTITY[]>): void;
1777
+ protected changeValue(prev: ENTITY[KEY]): void;
1778
+ protected setEditModState(index: Nullable<number>): void;
1779
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiDynamicSelectorSelectedListComponent<any, any>, never>;
1780
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiDynamicSelectorSelectedListComponent<any, any>, "rtui-dynamic-selector-selected-list", never, { "isMobile": { "alias": "isMobile"; "required": true; "isSignal": true; }; "keyExp": { "alias": "keyExp"; "required": true; "isSignal": true; }; "displayExp": { "alias": "displayExp"; "required": true; "isSignal": true; }; "selectedEntities": { "alias": "selectedEntities"; "required": true; "isSignal": true; }; "readonlyEntitiesKeys": { "alias": "readonlyEntitiesKeys"; "required": false; "isSignal": true; }; "isListDraggable": { "alias": "isListDraggable"; "required": false; "isSignal": true; }; "useNameBreaking": { "alias": "useNameBreaking"; "required": false; "isSignal": true; }; "useTitleCase": { "alias": "useTitleCase"; "required": false; "isSignal": true; }; "isDeleteButtonShown": { "alias": "isDeleteButtonShown"; "required": false; "isSignal": true; }; "isItemsEditable": { "alias": "isItemsEditable"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; }, { "deleteFromSelectedAction": "deleteFromSelectedAction"; "dropAction": "dropAction"; "changeValueAction": "changeValueAction"; }, ["additionalControlTpl"], never, true, never>;
1781
+ }
1782
+
1783
+ type IImageUploadFormat = 'png' | 'jpeg' | 'webp';
1784
+ declare class RtuiImageUploadComponent {
1785
+ #private;
1786
+ protected readonly imageFormat: Signal<IImageUploadFormat>;
1787
+ imageUrl: ModelSignal<Nullable<string>>;
1788
+ isMobile: InputSignalWithTransform<boolean, boolean>;
1789
+ fileName: InputSignalWithTransform<string, string>;
1790
+ isActive: InputSignalWithTransform<boolean, BooleanInput>;
1791
+ isSaveButtonShown: InputSignalWithTransform<boolean, BooleanInput>;
1792
+ isDownloadButtonEnabled: InputSignalWithTransform<boolean, BooleanInput>;
1793
+ isTooltipDisabled: InputSignalWithTransform<boolean, BooleanInput>;
1794
+ isActionsShown: InputSignalWithTransform<boolean, BooleanInput>;
1795
+ loading: InputSignalWithTransform<boolean, BooleanInput>;
1796
+ tooltip: InputSignal<string>;
1797
+ tooltipPosition: InputSignal<TooltipPosition>;
1798
+ imageQuality: InputSignal<number>;
1799
+ originalImage: WritableSignal<File | undefined>;
1800
+ croppedImage: WritableSignal<Nullable<File>>;
1801
+ tempImage: WritableSignal<Nullable<string>>;
1802
+ readonly imageChanged: OutputEmitterRef<File>;
1803
+ readonly save: OutputEmitterRef<void>;
1804
+ onFileSelect(event: Event): void;
1805
+ onImageCropped(event: ImageCroppedEvent): void;
1806
+ onFileUpload(file: File): void;
1807
+ onApply(): void;
1808
+ onCancel(): void;
1809
+ onDownloadImage(): void;
1810
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiImageUploadComponent, never>;
1811
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiImageUploadComponent, "rtui-image-upload", never, { "imageUrl": { "alias": "imageUrl"; "required": true; "isSignal": true; }; "isMobile": { "alias": "isMobile"; "required": true; "isSignal": true; }; "fileName": { "alias": "fileName"; "required": false; "isSignal": true; }; "isActive": { "alias": "isActive"; "required": false; "isSignal": true; }; "isSaveButtonShown": { "alias": "isSaveButtonShown"; "required": false; "isSignal": true; }; "isDownloadButtonEnabled": { "alias": "isDownloadButtonEnabled"; "required": false; "isSignal": true; }; "isTooltipDisabled": { "alias": "isTooltipDisabled"; "required": false; "isSignal": true; }; "isActionsShown": { "alias": "isActionsShown"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; "imageQuality": { "alias": "imageQuality"; "required": false; "isSignal": true; }; }, { "imageUrl": "imageUrlChange"; "imageChanged": "imageChanged"; "save": "save"; }, never, never, true, never>;
1812
+ }
1813
+
1814
+ type MenuItemTrigger = 'click' | 'hover';
1815
+ declare class RtPopoverDirective implements OnInit, OnDestroy {
1816
+ #private;
1817
+ xOffset: InputSignalWithTransform<number, NumberInput>;
1818
+ yOffset: InputSignalWithTransform<number, NumberInput>;
1819
+ trigger: InputSignalWithTransform<MenuItemTrigger, MenuItemTrigger>;
1820
+ template: InputSignalWithTransform<Nullable<TemplateRef<HTMLElement>>, Nullable<TemplateRef<HTMLElement>>>;
1821
+ isMouseHoverAllowed: InputSignalWithTransform<boolean, BooleanInput>;
1822
+ onClick(element: EventTarget | null): void;
1823
+ onMouseEnter(): void;
1824
+ onMouseLeave(): void;
1825
+ ngOnInit(): void;
1826
+ ngOnDestroy(): void;
1827
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtPopoverDirective, never>;
1828
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtPopoverDirective, "[rtPopover]", never, { "xOffset": { "alias": "xOffset"; "required": false; "isSignal": true; }; "yOffset": { "alias": "yOffset"; "required": false; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "template": { "alias": "template"; "required": false; "isSignal": true; }; "isMouseHoverAllowed": { "alias": "isMouseHoverAllowed"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1829
+ }
1830
+
1831
+ declare namespace IRtActionBar {
1832
+ interface Config {
1833
+ selected?: number;
1834
+ total?: number;
1835
+ buttons?: IRtActionBar.Button[];
1836
+ }
1837
+ interface Button {
1838
+ title: string;
1839
+ action?: (payload?: object) => void;
1840
+ icon?: string;
1841
+ menu?: IRtActionBar.Button[];
1842
+ styles?: object;
1843
+ }
1844
+ }
1845
+
1846
+ declare class RtuiActionBarComponent {
1847
+ #private;
1848
+ config: InputSignal<IRtActionBar.Config>;
1849
+ readonly closeAction: OutputEmitterRef<void>;
1850
+ readonly isTablet: Signal<boolean>;
1851
+ onClose(): void;
1852
+ onAction(button: IRtActionBar.Button): void;
1853
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiActionBarComponent, never>;
1854
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiActionBarComponent, "rtui-action-bar", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; }, { "closeAction": "closeAction"; }, never, never, true, never>;
1855
+ }
1856
+
1857
+ declare class RtuiActionBarContainerComponent {
1858
+ #private;
1859
+ readonly config: Signal<IRtActionBar.Config>;
1860
+ closeBar(): void;
1861
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtuiActionBarContainerComponent, never>;
1862
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtuiActionBarContainerComponent, "rtui-action-bar-container", never, {}, {}, never, never, true, never>;
1863
+ }
1864
+
1865
+ declare class RtActionBarService {
1866
+ config: WritableSignal<IRtActionBar.Config>;
1867
+ setActions(buttons: IRtActionBar.Button[]): void;
1868
+ setCounts(selected: number, total: number): void;
1869
+ closeActionBar(): void;
1870
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtActionBarService, never>;
1871
+ static ɵprov: i0.ɵɵInjectableDeclaration<RtActionBarService>;
1872
+ }
1873
+
1874
+ export { BUTTON_APPEARANCE, BUTTON_COLOR, BUTTON_SIZE, BlockDirective, CUSTOM_STORAGE, ConcatClassesPipe, DEFAULT_PAGE_MODEL, DEFAULT_PAGE_SIZE, ElemDirective, FILTER_OPERATORS, FILTER_OPERATOR_TYPE_ENUM, IDBStorageService, IDB_STORAGE_SERVICE_TOKEN, IModal, INFO_BADGE_SIZE_ENUM, INFO_BADGE_TYPE_ENUM, IN_MEMORY_STORAGE, IRtActionBar, IRtSnackBar, ITable, InMemoryStorageService, JsonConverter, LIST_SORT_ORDER_ENUM, LOCAL_STORAGE, ModDirective, RTUI_TABLE_COMPONENT_TOKEN, RTUI_TABLE_STOP_ROW_CLICK_ATTRIBUTE, RtActionBarService, RtAsideService, RtDynamicListSelectorsDirective, RtModalService, RtPopoverDirective, RtSnackBarService, RtTableConfigService, RtTableSelectorsDirective, RtuiActionBarComponent, RtuiActionBarContainerComponent, RtuiAsideContainerComponent, RtuiAsideContainerHeaderDirective, RtuiButtonComponent, RtuiClearButtonComponent, RtuiCustomTableCellsDirective, RtuiDynamicInputAdditionalControlDirective, RtuiDynamicInputComponent, RtuiDynamicListComponent, RtuiDynamicListCustomTableCellsDirective, RtuiDynamicListRowActionsDirective, RtuiDynamicListRowAdditionalActionsDirective, RtuiDynamicListToolbarActionsDirective, RtuiDynamicListToolbarSelectorsDirective, RtuiDynamicSelectorAdditionalControlDirective, RtuiDynamicSelectorComponent, RtuiDynamicSelectorItemAdditionalControlDirective, RtuiDynamicSelectorListActionsComponent, RtuiDynamicSelectorPlaceholderComponent, RtuiDynamicSelectorSelectedListComponent, RtuiFileUploadComponent, RtuiHeaderCenterDirective, RtuiHeaderComponent, RtuiHeaderLeftDirective, RtuiHeaderRightDirective, RtuiImageUploadComponent, RtuiInfoBadgeComponent, RtuiModalComponent, RtuiMultiButtonComponent, RtuiMultiSelectorPopupComponent, RtuiPaginationComponent, RtuiRoundIconButtonComponent, RtuiScrollableContainerComponent, RtuiScrollableContainerContentDirective, RtuiScrollableContainerFooterDirective, RtuiScrollableContainerHeaderDirective, RtuiSideMenuComponent, RtuiSideMenuFooterDirective, RtuiSideMenuHeaderDirective, RtuiSnackBarComponent, RtuiSpinnerComponent, RtuiStopTableRowClickDirective, RtuiTableAdditionalRowActionsDirective, RtuiTableComponent, RtuiTableRowActionsDirective, RtuiTableRowClickDirective, RtuiToggleComponent, RtuiToolbarCenterDirective, RtuiToolbarComponent, RtuiToolbarLeftDirective, RtuiToolbarRightDirective, SESSION_STORAGE, STORAGE_TYPES_ENUM, StorageService, TABLE_COLUMN_FILTER_TYPES_ENUM, TABLE_COLUMN_TYPES_ENUM, TEXT_CELL_COLOR_ENUM, TOGGLE_SIZE_TYPE_ENUM, darkenHexColor, getColorBasedOnBackground, iDBStorageFactory, inMemoryStorageFactory, localStorageFactory, progressDecreaseAnimation, progressIncreaseAnimation, provideRtIDBStorage, provideRtStorage, provideRtUi, sessionStorageFactory };
1875
+ export type { ButtonAppearanceType, ButtonColorType, ButtonSizeType, FilterModel, FilterOperatorType, IBemConfig, IIDBStorageServiceInterface, IImageUploadFormat, IInfoBadgeSizeType, IModsObject, IRtuiTable, IStorageConfig, IStorageConverter, IconSideType, InfoBadgeType, ListSortOrderType, ListState, MenuItemTrigger, PageModel, SortModel, StorageType, ToggleSizeType };