@foxeltech/angular-ui 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/foxeltech-angular-ui-chart.mjs +392 -0
- package/fesm2022/foxeltech-angular-ui-chart.mjs.map +1 -0
- package/fesm2022/foxeltech-angular-ui-flow.mjs +38 -0
- package/fesm2022/foxeltech-angular-ui-flow.mjs.map +1 -0
- package/fesm2022/foxeltech-angular-ui-rich-text.mjs +156 -0
- package/fesm2022/foxeltech-angular-ui-rich-text.mjs.map +1 -0
- package/fesm2022/foxeltech-angular-ui.mjs +890 -1499
- package/fesm2022/foxeltech-angular-ui.mjs.map +1 -1
- package/fx-icons.svg +97 -0
- package/package.json +23 -16
- package/src/lib/styles/tailwind.css +0 -1
- package/src/lib/ui/components/button/button.component.html +14 -14
- package/src/lib/ui/components/checkbox/checkbox.component.html +2 -2
- package/src/lib/ui/components/circle-progress-bar/circle-progress-bar.component.html +2 -2
- package/src/lib/ui/components/datetime-picker/datetime-picker.component.html +54 -28
- package/src/lib/ui/components/datetime-picker/datetime-picker.component.scss +25 -137
- package/src/lib/ui/components/dnd-upload/dnd-upload.component.html +3 -3
- package/src/lib/ui/components/drawer/drawer.component.html +75 -61
- package/src/lib/ui/components/empty-state/empty-state.component.html +2 -2
- package/src/lib/ui/components/hero-icon/hero-icon.component.html +10 -9
- package/src/lib/ui/components/info-field/info-field.component.html +1 -1
- package/src/lib/ui/components/input/input.component.html +6 -6
- package/src/lib/ui/components/kanban-board/kanban-board.component.html +1 -1
- package/src/lib/ui/components/loading-panel/loading-panel.component.html +53 -53
- package/src/lib/ui/components/master-detail/master-detail.component.html +9 -9
- package/src/lib/ui/components/menu/menu.component.html +27 -0
- package/src/lib/ui/components/radio-button/radio-button.component.html +26 -26
- package/src/lib/ui/components/radio-button-toggle/radio-button-toggle.component.html +3 -3
- package/src/lib/ui/components/search-bar/search-bar.component.html +12 -11
- package/src/lib/ui/components/section-card/section-card.component.html +1 -1
- package/src/lib/ui/components/select/select.component.html +14 -12
- package/src/lib/ui/components/skeleton-detail/skeleton-detail.component.html +2 -2
- package/src/lib/ui/components/skeleton-list/skeleton-list.component.html +1 -1
- package/src/lib/ui/components/skeleton-table-loading/skeleton-table-loading.component.html +5 -5
- package/src/lib/ui/components/slider/slider.component.html +22 -20
- package/src/lib/ui/components/stat-cards/stat-cards.component.html +1 -1
- package/src/lib/ui/components/switch/switch.component.html +1 -1
- package/src/lib/ui/components/tab-group/tab-group.component.html +35 -32
- package/src/lib/ui/components/table-cell/table-cell.component.html +2 -2
- package/src/lib/ui/components/tag/tag.component.html +4 -4
- package/src/lib/ui/components/toast/toast.component.html +42 -40
- package/src/lib/ui/components/toast-container/toast-container.component.html +1 -0
- package/src/lib/ui/components/tree-diagram/tree-diagram.component.html +22 -20
- package/tailwind.css +0 -1
- package/types/foxeltech-angular-ui-chart.d.ts +53 -0
- package/types/foxeltech-angular-ui-flow.d.ts +14 -0
- package/types/foxeltech-angular-ui-rich-text.d.ts +35 -0
- package/{index.d.ts → types/foxeltech-angular-ui.d.ts} +394 -387
- package/src/lib/ui/components/chart/chart.component.html +0 -20
- package/src/lib/ui/components/chart/chart.component.scss +0 -49
- package/src/lib/ui/components/flow-connection/flow-connection.component.html +0 -10
- package/src/lib/ui/components/flow-connection/flow-connection.component.scss +0 -0
- package/src/lib/ui/components/rich-text-area/rich-text-area.component.html +0 -3
- package/src/lib/ui/components/rich-text-area/rich-text-area.component.scss +0 -18
|
@@ -1,46 +1,21 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { OnDestroy, Injector, DestroyRef, ApplicationRef, OnInit, AfterViewInit, ChangeDetectorRef, Type, EventEmitter, Provider, ModuleWithProviders, TemplateRef, ViewContainerRef, ElementRef, RendererFactory2, OnChanges, SimpleChanges, AfterContentInit,
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { OnDestroy, Injector, DestroyRef, ApplicationRef, OnInit, AfterViewInit, ChangeDetectorRef, Type, EventEmitter, Provider, ModuleWithProviders, TemplateRef, ViewContainerRef, ElementRef, RendererFactory2, OnChanges, SimpleChanges, AfterContentInit, Renderer2, InjectionToken, QueryList, NgZone } from '@angular/core';
|
|
3
3
|
import * as _foxeltech_angular_ui from '@foxeltech/angular-ui';
|
|
4
|
-
import
|
|
5
|
-
import { MatPaginator } from '@angular/material/paginator';
|
|
6
|
-
import * as i54 from '@angular/material/table';
|
|
4
|
+
import { MatDialog, MatDialogRef, MatDialogConfig } from '@angular/material/dialog';
|
|
5
|
+
import { MatPaginator, PageEvent } from '@angular/material/paginator';
|
|
7
6
|
import { MatTableDataSource, MatTable } from '@angular/material/table';
|
|
8
7
|
import { HttpClient, HttpEvent, HttpErrorResponse, HttpInterceptor, HttpRequest, HttpHandler } from '@angular/common/http';
|
|
9
8
|
import * as rxjs from 'rxjs';
|
|
10
9
|
import { Observable, Subject } from 'rxjs';
|
|
11
|
-
import * as
|
|
12
|
-
import { NgForm, ValidationErrors,
|
|
13
|
-
import * as
|
|
14
|
-
import { MatDialogRef, MatDialog } from '@angular/material/dialog';
|
|
15
|
-
import * as i41 from '@angular/router';
|
|
10
|
+
import * as i1$1 from '@angular/forms';
|
|
11
|
+
import { NgForm, ValidationErrors, ControlValueAccessor, NgControl } from '@angular/forms';
|
|
12
|
+
import * as i2 from '@angular/router';
|
|
16
13
|
import { ActivatedRouteSnapshot, RouterStateSnapshot, ResolveFn, CanActivate, Router } from '@angular/router';
|
|
17
14
|
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
18
15
|
import * as i1 from '@ngx-translate/core';
|
|
19
16
|
import { TranslateService } from '@ngx-translate/core';
|
|
20
|
-
import {
|
|
21
|
-
import * as i47 from 'ngx-vflow';
|
|
22
|
-
import { Node, Edge, Connection } from 'ngx-vflow';
|
|
23
|
-
import * as i66 from '@angular/cdk/drag-drop';
|
|
17
|
+
import { ComponentType } from '@angular/cdk/portal';
|
|
24
18
|
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
25
|
-
import * as i39 from '@angular/common';
|
|
26
|
-
import * as i42 from '@danielmoncada/angular-datetime-picker';
|
|
27
|
-
import * as i43 from '@danielmoncada/angular-datetime-picker-moment-adapter';
|
|
28
|
-
import * as i46 from '@dimaslz/ng-heroicons';
|
|
29
|
-
import * as i48 from 'ngx-echarts';
|
|
30
|
-
import * as i49 from '@angular/material/select';
|
|
31
|
-
import * as i50 from '@angular/material/radio';
|
|
32
|
-
import * as i51 from '@angular/material/button';
|
|
33
|
-
import * as i52 from '@angular/material/icon';
|
|
34
|
-
import * as i55 from '@angular/material/snack-bar';
|
|
35
|
-
import * as i57 from '@angular/material/checkbox';
|
|
36
|
-
import * as i58 from '@angular/material/card';
|
|
37
|
-
import * as i59 from '@angular/material/datepicker';
|
|
38
|
-
import * as i60 from '@angular/material/timepicker';
|
|
39
|
-
import * as i61 from '@angular/material/badge';
|
|
40
|
-
import * as i62 from '@angular/material/expansion';
|
|
41
|
-
import * as i63 from '@angular/material/form-field';
|
|
42
|
-
import * as i64 from '@angular/material/menu';
|
|
43
|
-
import * as i65 from '@angular/material/tooltip';
|
|
44
19
|
|
|
45
20
|
declare abstract class BaseComponent implements OnDestroy {
|
|
46
21
|
protected injector: Injector;
|
|
@@ -48,8 +23,8 @@ declare abstract class BaseComponent implements OnDestroy {
|
|
|
48
23
|
protected destroyRef: DestroyRef;
|
|
49
24
|
constructor(injector?: Injector);
|
|
50
25
|
ngOnDestroy(): void;
|
|
51
|
-
static ɵfac:
|
|
52
|
-
static ɵdir:
|
|
26
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseComponent, never>;
|
|
27
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BaseComponent, never, never, {}, {}, never, never, true, never>;
|
|
53
28
|
}
|
|
54
29
|
|
|
55
30
|
declare class HttpWrapper {
|
|
@@ -103,26 +78,45 @@ declare class FxToastrService {
|
|
|
103
78
|
error(message: string, title?: string): void;
|
|
104
79
|
info(message: string, title?: string): void;
|
|
105
80
|
warning(message: string, title?: string): void;
|
|
106
|
-
static ɵfac:
|
|
107
|
-
static ɵprov:
|
|
81
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FxToastrService, never>;
|
|
82
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<FxToastrService>;
|
|
108
83
|
}
|
|
109
84
|
|
|
110
85
|
interface TableResult<T> {
|
|
111
86
|
data: T[];
|
|
112
87
|
total: number;
|
|
113
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Filter bag for BaseTable screens. The platform-wide keys are declared so
|
|
91
|
+
* templates keep dot access under noPropertyAccessFromIndexSignature;
|
|
92
|
+
* screen-specific keys ride on the index signature (bracket access).
|
|
93
|
+
*/
|
|
94
|
+
interface FxTableFilters {
|
|
95
|
+
keyword?: string;
|
|
96
|
+
status?: string;
|
|
97
|
+
statuses?: string[];
|
|
98
|
+
severity?: string;
|
|
99
|
+
riskLevel?: string;
|
|
100
|
+
priority?: string;
|
|
101
|
+
category?: string;
|
|
102
|
+
integrityLevel?: string;
|
|
103
|
+
tags?: string[];
|
|
104
|
+
name?: string;
|
|
105
|
+
groupId?: string;
|
|
106
|
+
[key: string]: any;
|
|
107
|
+
}
|
|
114
108
|
declare class BaseTableComponent<T = any> extends BaseComponent implements OnInit, AfterViewInit {
|
|
115
109
|
api: HttpWrapper;
|
|
116
|
-
modal:
|
|
110
|
+
modal: MatDialog;
|
|
117
111
|
ref: ChangeDetectorRef;
|
|
118
112
|
dataSource: MatTableDataSource<T, MatPaginator>;
|
|
119
113
|
cols: string[];
|
|
120
114
|
total: number;
|
|
121
115
|
page: number;
|
|
122
116
|
pageSize: number;
|
|
123
|
-
filters:
|
|
117
|
+
filters: FxTableFilters;
|
|
124
118
|
loading: boolean;
|
|
125
|
-
expandedElement:
|
|
119
|
+
expandedElement: T | null;
|
|
126
120
|
toastr: FxToastrService;
|
|
127
121
|
_lock: boolean;
|
|
128
122
|
keywordChange$: Subject<string>;
|
|
@@ -164,8 +158,8 @@ declare class BaseTableComponent<T = any> extends BaseComponent implements OnIni
|
|
|
164
158
|
};
|
|
165
159
|
};
|
|
166
160
|
paginator: MatPaginator;
|
|
167
|
-
table: MatTable<
|
|
168
|
-
constructor(injector: Injector, api: HttpWrapper, modal:
|
|
161
|
+
readonly table: _angular_core.Signal<MatTable<any>>;
|
|
162
|
+
constructor(injector: Injector, api: HttpWrapper, modal: MatDialog, ref: ChangeDetectorRef);
|
|
169
163
|
ngOnInit(): void;
|
|
170
164
|
init(): void;
|
|
171
165
|
ngAfterViewInit(): void;
|
|
@@ -186,22 +180,22 @@ declare class BaseTableComponent<T = any> extends BaseComponent implements OnIni
|
|
|
186
180
|
setDataSource(result: any): void;
|
|
187
181
|
private _fetchSeq;
|
|
188
182
|
fetch(): Promise<void>;
|
|
189
|
-
onPageChange(event:
|
|
183
|
+
onPageChange(event: PageEvent): Promise<void>;
|
|
190
184
|
resolve(): {};
|
|
191
185
|
empty(): {};
|
|
192
186
|
onKeywordChange(keyword: string): void;
|
|
193
187
|
create(): Promise<void>;
|
|
194
|
-
update(model:
|
|
195
|
-
view(model:
|
|
196
|
-
delete(model:
|
|
197
|
-
remove(model:
|
|
188
|
+
update(model: T): Promise<void>;
|
|
189
|
+
view(model: T): Promise<void>;
|
|
190
|
+
delete(model: T): Promise<void>;
|
|
191
|
+
remove(model: T): Promise<any>;
|
|
198
192
|
tagClass(tag: string): _foxeltech_angular_ui.TagType;
|
|
199
193
|
capitalize(label: string): string;
|
|
200
194
|
value(model: any, key: string, defaultValue?: any): any;
|
|
201
195
|
toggleExpand(element: any): void;
|
|
202
196
|
updateStatus(params: any): Promise<void>;
|
|
203
|
-
static ɵfac:
|
|
204
|
-
static ɵdir:
|
|
197
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseTableComponent<any>, never>;
|
|
198
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BaseTableComponent<any>, never, never, {}, {}, never, never, true, never>;
|
|
205
199
|
}
|
|
206
200
|
|
|
207
201
|
/**
|
|
@@ -221,10 +215,10 @@ declare class BaseMasterDetailComponent<T = any> extends BaseTableComponent<T> {
|
|
|
221
215
|
selected: T | null;
|
|
222
216
|
detailMap: Map<string, any>;
|
|
223
217
|
detailLoading: Set<string>;
|
|
224
|
-
constructor(injector: Injector, api: HttpWrapper, modal:
|
|
218
|
+
constructor(injector: Injector, api: HttpWrapper, modal: MatDialog, ref: ChangeDetectorRef);
|
|
225
219
|
/** Key the row id is read from. Override idOf() instead for composite ids. */
|
|
226
220
|
protected idKey: string;
|
|
227
|
-
idOf(row:
|
|
221
|
+
idOf(row: T): string | null;
|
|
228
222
|
protected detailUrl(id: string): string | null;
|
|
229
223
|
/** What the detail pane shows: the fetched detail when cached, else the row. */
|
|
230
224
|
get detail(): any;
|
|
@@ -234,8 +228,8 @@ declare class BaseMasterDetailComponent<T = any> extends BaseTableComponent<T> {
|
|
|
234
228
|
autoSelectFirst(): void;
|
|
235
229
|
selectItem(row: T): void;
|
|
236
230
|
fetchDetail(id: string): void;
|
|
237
|
-
static ɵfac:
|
|
238
|
-
static ɵdir:
|
|
231
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseMasterDetailComponent<any>, never>;
|
|
232
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BaseMasterDetailComponent<any>, never, never, {}, {}, never, never, true, never>;
|
|
239
233
|
}
|
|
240
234
|
|
|
241
235
|
declare class BaseDialogComponent<T = any> extends BaseComponent implements AfterViewInit, OnInit {
|
|
@@ -244,7 +238,7 @@ declare class BaseDialogComponent<T = any> extends BaseComponent implements Afte
|
|
|
244
238
|
toastr: FxToastrService;
|
|
245
239
|
api: HttpWrapper;
|
|
246
240
|
dialog: MatDialog;
|
|
247
|
-
ngForm: NgForm
|
|
241
|
+
readonly ngForm: _angular_core.Signal<NgForm | undefined>;
|
|
248
242
|
method: string;
|
|
249
243
|
title: string;
|
|
250
244
|
model: any;
|
|
@@ -263,8 +257,8 @@ declare class BaseDialogComponent<T = any> extends BaseComponent implements Afte
|
|
|
263
257
|
updateInfo(params?: any): Promise<void>;
|
|
264
258
|
cancel(): void;
|
|
265
259
|
validate(): boolean;
|
|
266
|
-
static ɵfac:
|
|
267
|
-
static ɵdir:
|
|
260
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseDialogComponent<any>, never>;
|
|
261
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BaseDialogComponent<any>, never, never, {}, {}, never, never, true, never>;
|
|
268
262
|
}
|
|
269
263
|
|
|
270
264
|
declare class FxLoadingService {
|
|
@@ -274,8 +268,8 @@ declare class FxLoadingService {
|
|
|
274
268
|
stop(): void;
|
|
275
269
|
startAction(): void;
|
|
276
270
|
stopAction(): void;
|
|
277
|
-
static ɵfac:
|
|
278
|
-
static ɵprov:
|
|
271
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FxLoadingService, never>;
|
|
272
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<FxLoadingService>;
|
|
279
273
|
}
|
|
280
274
|
|
|
281
275
|
declare class BaseResolver {
|
|
@@ -402,8 +396,8 @@ declare class NotificationService {
|
|
|
402
396
|
* Get connection ID
|
|
403
397
|
*/
|
|
404
398
|
getConnectionId(): string | null;
|
|
405
|
-
static ɵfac:
|
|
406
|
-
static ɵprov:
|
|
399
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationService, never>;
|
|
400
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<NotificationService>;
|
|
407
401
|
}
|
|
408
402
|
|
|
409
403
|
interface RealtimeTableEvent<T> {
|
|
@@ -482,6 +476,14 @@ declare class RealtimeTableSync<T = any> {
|
|
|
482
476
|
}
|
|
483
477
|
|
|
484
478
|
declare class FxUtils {
|
|
479
|
+
/** Dot-path accessor (lodash _.get replacement — supports 'a.b.c'). */
|
|
480
|
+
static get(obj: any, path: string, defaultValue?: any): any;
|
|
481
|
+
/** Dot-path setter (lodash _.set replacement — creates missing objects). */
|
|
482
|
+
static set(obj: any, path: string, value: any): any;
|
|
483
|
+
/** Structural equality (lodash _.isEqual replacement for plain data). */
|
|
484
|
+
static deepEqual(a: any, b: any): boolean;
|
|
485
|
+
/** Deep clone for plain data (objects/arrays/Date); functions stay by reference. */
|
|
486
|
+
static cloneDeep<T>(v: T): T;
|
|
485
487
|
private static preresolve;
|
|
486
488
|
static resolve(value: object): Promise<{}>;
|
|
487
489
|
static isNotNull(obj: any): boolean;
|
|
@@ -639,9 +641,9 @@ declare function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader;
|
|
|
639
641
|
declare class TranslationModule {
|
|
640
642
|
static forRoot(): ModuleWithProviders<TranslationModule>;
|
|
641
643
|
static forChild(): ModuleWithProviders<TranslationModule>;
|
|
642
|
-
static ɵfac:
|
|
643
|
-
static ɵmod:
|
|
644
|
-
static ɵinj:
|
|
644
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TranslationModule, never>;
|
|
645
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<TranslationModule, never, [typeof i1.TranslateModule], [typeof i1.TranslateModule]>;
|
|
646
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<TranslationModule>;
|
|
645
647
|
}
|
|
646
648
|
|
|
647
649
|
declare class TranslationService {
|
|
@@ -655,8 +657,8 @@ declare class TranslationService {
|
|
|
655
657
|
setLanguage(lang: string): void;
|
|
656
658
|
loadTranslations(lang: string, path: string): void;
|
|
657
659
|
onLanguageChange(callback: (lang: string) => void): void;
|
|
658
|
-
static ɵfac:
|
|
659
|
-
static ɵprov:
|
|
660
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TranslationService, never>;
|
|
661
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<TranslationService>;
|
|
660
662
|
}
|
|
661
663
|
|
|
662
664
|
declare class PermissionService {
|
|
@@ -664,8 +666,8 @@ declare class PermissionService {
|
|
|
664
666
|
setPermissions(perms: string[]): void;
|
|
665
667
|
hasPermission(requiredPermissions: string[]): boolean;
|
|
666
668
|
getPermissions(): string[];
|
|
667
|
-
static ɵfac:
|
|
668
|
-
static ɵprov:
|
|
669
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PermissionService, never>;
|
|
670
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<PermissionService>;
|
|
669
671
|
}
|
|
670
672
|
|
|
671
673
|
declare class HasPermissionDirective {
|
|
@@ -674,18 +676,18 @@ declare class HasPermissionDirective {
|
|
|
674
676
|
private permissionService;
|
|
675
677
|
constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef, permissionService: PermissionService);
|
|
676
678
|
set hasPermission(required: string | string[]);
|
|
677
|
-
static ɵfac:
|
|
678
|
-
static ɵdir:
|
|
679
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HasPermissionDirective, never>;
|
|
680
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<HasPermissionDirective, "[hasPermission]", never, { "hasPermission": { "alias": "hasPermission"; "required": false; }; }, {}, never, never, true, never>;
|
|
679
681
|
}
|
|
680
682
|
|
|
681
683
|
declare class TrimOnBlurDirective {
|
|
682
684
|
private el;
|
|
685
|
+
readonly collapseWhitespace: _angular_core.InputSignal<boolean>;
|
|
683
686
|
private ngControl;
|
|
684
|
-
|
|
685
|
-
constructor(el: ElementRef<HTMLInputElement>, ngControl: NgControl);
|
|
687
|
+
constructor(el: ElementRef<HTMLInputElement>);
|
|
686
688
|
onBlur(): void;
|
|
687
|
-
static ɵfac:
|
|
688
|
-
static ɵdir:
|
|
689
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TrimOnBlurDirective, never>;
|
|
690
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TrimOnBlurDirective, "[appTrimOnBlur]", never, { "collapseWhitespace": { "alias": "appTrimOnBlurCollapse"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
689
691
|
}
|
|
690
692
|
|
|
691
693
|
declare class PermissionGuard implements CanActivate {
|
|
@@ -693,15 +695,15 @@ declare class PermissionGuard implements CanActivate {
|
|
|
693
695
|
private router;
|
|
694
696
|
constructor(permissionService: PermissionService, router: Router);
|
|
695
697
|
canActivate(route: any): boolean;
|
|
696
|
-
static ɵfac:
|
|
697
|
-
static ɵprov:
|
|
698
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PermissionGuard, never>;
|
|
699
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<PermissionGuard>;
|
|
698
700
|
}
|
|
699
701
|
|
|
700
702
|
declare class FxStorageService {
|
|
701
703
|
resolve(key: string, value?: any): any;
|
|
702
704
|
remove(key: string): void;
|
|
703
|
-
static ɵfac:
|
|
704
|
-
static ɵprov:
|
|
705
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FxStorageService, never>;
|
|
706
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<FxStorageService>;
|
|
705
707
|
}
|
|
706
708
|
|
|
707
709
|
declare class AuthStateService {
|
|
@@ -712,8 +714,8 @@ declare class AuthStateService {
|
|
|
712
714
|
setLoggedIn(value: boolean): void;
|
|
713
715
|
get isLoggedIn(): boolean;
|
|
714
716
|
handleUnauthorized(): void;
|
|
715
|
-
static ɵfac:
|
|
716
|
-
static ɵprov:
|
|
717
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AuthStateService, never>;
|
|
718
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AuthStateService>;
|
|
717
719
|
}
|
|
718
720
|
|
|
719
721
|
declare class AuthInterceptor implements HttpInterceptor {
|
|
@@ -721,8 +723,8 @@ declare class AuthInterceptor implements HttpInterceptor {
|
|
|
721
723
|
private handlingUnauthorized;
|
|
722
724
|
constructor(authState: AuthStateService);
|
|
723
725
|
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
|
|
724
|
-
static ɵfac:
|
|
725
|
-
static ɵprov:
|
|
726
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AuthInterceptor, never>;
|
|
727
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AuthInterceptor>;
|
|
726
728
|
}
|
|
727
729
|
|
|
728
730
|
interface Breadcrumb {
|
|
@@ -735,22 +737,8 @@ declare class BreadcrumbService {
|
|
|
735
737
|
set(breadcrumbs: Breadcrumb[]): void;
|
|
736
738
|
get(): rxjs.Observable<Breadcrumb[]>;
|
|
737
739
|
clear(): void;
|
|
738
|
-
static ɵfac:
|
|
739
|
-
static ɵprov:
|
|
740
|
-
}
|
|
741
|
-
|
|
742
|
-
declare class QuillStyleLoaderService {
|
|
743
|
-
private platformId;
|
|
744
|
-
private loaded;
|
|
745
|
-
private loadingPromise;
|
|
746
|
-
constructor(platformId: object);
|
|
747
|
-
/**
|
|
748
|
-
* Load Quill CSS (only in browser). Returns a promise that resolves when
|
|
749
|
-
* the CSS links have been appended.
|
|
750
|
-
*/
|
|
751
|
-
load(): Promise<void>;
|
|
752
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<QuillStyleLoaderService, never>;
|
|
753
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<QuillStyleLoaderService>;
|
|
740
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BreadcrumbService, never>;
|
|
741
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<BreadcrumbService>;
|
|
754
742
|
}
|
|
755
743
|
|
|
756
744
|
declare class ThemeService {
|
|
@@ -765,8 +753,29 @@ declare class ThemeService {
|
|
|
765
753
|
getCurrentTheme(): 'light' | 'dark';
|
|
766
754
|
isLight(): boolean;
|
|
767
755
|
getLogoPath(): string;
|
|
768
|
-
static ɵfac:
|
|
769
|
-
static ɵprov:
|
|
756
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThemeService, never>;
|
|
757
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ThemeService>;
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
interface FxConfirmOptions {
|
|
761
|
+
title?: string;
|
|
762
|
+
message?: string;
|
|
763
|
+
confirmLabel?: string;
|
|
764
|
+
cancelLabel?: string;
|
|
765
|
+
}
|
|
766
|
+
/**
|
|
767
|
+
* Thin façade over MatDialog so app code never imports @angular/material
|
|
768
|
+
* directly (behavior-layer rule, Playbook §5.1). Same semantics — the
|
|
769
|
+
* returned ref is the Material one, typed through this service.
|
|
770
|
+
*/
|
|
771
|
+
declare class FxDialogService {
|
|
772
|
+
private dialog;
|
|
773
|
+
open<T, D = any, R = any>(component: ComponentType<T> | TemplateRef<T>, config?: MatDialogConfig<D>): MatDialogRef<T, R>;
|
|
774
|
+
/** Standard confirmation flow — resolves true when the user confirms. */
|
|
775
|
+
confirm(options?: FxConfirmOptions): Promise<boolean>;
|
|
776
|
+
closeAll(): void;
|
|
777
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FxDialogService, never>;
|
|
778
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<FxDialogService>;
|
|
770
779
|
}
|
|
771
780
|
|
|
772
781
|
type ErrorMessages = Record<string, any>;
|
|
@@ -778,6 +787,9 @@ declare abstract class FxComponent<T> implements ControlValueAccessor {
|
|
|
778
787
|
* bind to an ancestor's NgControl.
|
|
779
788
|
*/
|
|
780
789
|
ngControl: NgControl | null;
|
|
790
|
+
/** With OnPush, programmatic writes (form.setValue / setDisabledState) must
|
|
791
|
+
* mark the view — CVA calls come from outside the component's own events. */
|
|
792
|
+
protected cdr: ChangeDetectorRef;
|
|
781
793
|
disabled: boolean;
|
|
782
794
|
value: T;
|
|
783
795
|
onChange: (value: T) => void;
|
|
@@ -802,8 +814,8 @@ declare abstract class FxComponent<T> implements ControlValueAccessor {
|
|
|
802
814
|
*/
|
|
803
815
|
clearErrors(): void;
|
|
804
816
|
getErrorMessage(label?: string): string | null;
|
|
805
|
-
static ɵfac:
|
|
806
|
-
static ɵdir:
|
|
817
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FxComponent<any>, never>;
|
|
818
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FxComponent<any>, never, never, { "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
|
|
807
819
|
}
|
|
808
820
|
|
|
809
821
|
declare class InputComponent extends FxComponent<string> implements AfterViewInit {
|
|
@@ -811,18 +823,18 @@ declare class InputComponent extends FxComponent<string> implements AfterViewIni
|
|
|
811
823
|
label: string;
|
|
812
824
|
tooltip: string;
|
|
813
825
|
type: string;
|
|
814
|
-
placeholder: string
|
|
826
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
815
827
|
errorMessages: Record<string, string>;
|
|
816
|
-
required: string | boolean
|
|
828
|
+
readonly required: _angular_core.InputSignal<string | boolean>;
|
|
817
829
|
suffixIcon?: string;
|
|
818
|
-
class
|
|
819
|
-
maxlength
|
|
820
|
-
validateFn
|
|
821
|
-
blurred:
|
|
822
|
-
focused:
|
|
823
|
-
suffixClick:
|
|
830
|
+
readonly class: _angular_core.InputSignal<any>;
|
|
831
|
+
readonly maxlength: _angular_core.InputSignal<number | undefined>;
|
|
832
|
+
readonly validateFn: _angular_core.InputSignal<((value: string) => ValidationErrors | null) | undefined>;
|
|
833
|
+
readonly blurred: _angular_core.OutputEmitterRef<void>;
|
|
834
|
+
readonly focused: _angular_core.OutputEmitterRef<void>;
|
|
835
|
+
readonly suffixClick: _angular_core.OutputEmitterRef<void>;
|
|
824
836
|
/** Accessible name for the suffix icon button (it renders no text). */
|
|
825
|
-
suffixAriaLabel: string
|
|
837
|
+
readonly suffixAriaLabel: _angular_core.InputSignal<string>;
|
|
826
838
|
readonly fieldId: string;
|
|
827
839
|
showPassword: boolean;
|
|
828
840
|
validateError: ValidationErrors | null;
|
|
@@ -835,30 +847,30 @@ declare class InputComponent extends FxComponent<string> implements AfterViewIni
|
|
|
835
847
|
togglePassword(): void;
|
|
836
848
|
onSuffixClick(): void;
|
|
837
849
|
get displayType(): string;
|
|
838
|
-
static ɵfac:
|
|
839
|
-
static ɵcmp:
|
|
850
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputComponent, never>;
|
|
851
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputComponent, "fx-ui-input", never, { "label": { "alias": "label"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "type": { "alias": "type"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "errorMessages": { "alias": "errorMessages"; "required": false; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "validateFn": { "alias": "validateFn"; "required": false; "isSignal": true; }; "suffixAriaLabel": { "alias": "suffixAriaLabel"; "required": false; "isSignal": true; }; }, { "blurred": "blurred"; "focused": "focused"; "suffixClick": "suffixClick"; }, never, never, true, never>;
|
|
840
852
|
}
|
|
841
853
|
|
|
842
854
|
declare class SelectComponent extends FxComponent<string | string[]> implements AfterViewInit, OnInit, OnChanges {
|
|
843
855
|
private ref;
|
|
844
856
|
label: string;
|
|
845
857
|
tooltip: string;
|
|
846
|
-
placeholder: string
|
|
847
|
-
options: {
|
|
858
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
859
|
+
readonly options: _angular_core.InputSignal<{
|
|
848
860
|
label: string;
|
|
849
861
|
value: string;
|
|
850
|
-
}[]
|
|
851
|
-
multiple: boolean
|
|
862
|
+
}[]>;
|
|
863
|
+
readonly multiple: _angular_core.InputSignal<boolean>;
|
|
852
864
|
errorMessages: Record<string, string>;
|
|
853
|
-
required: boolean
|
|
854
|
-
class
|
|
855
|
-
enableSearch: boolean
|
|
856
|
-
searchFn
|
|
865
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
866
|
+
readonly class: _angular_core.InputSignal<any>;
|
|
867
|
+
readonly enableSearch: _angular_core.InputSignal<boolean>;
|
|
868
|
+
readonly searchFn: _angular_core.InputSignal<((query: string) => Promise<{
|
|
857
869
|
label: string;
|
|
858
870
|
value: string;
|
|
859
|
-
}[]>;
|
|
871
|
+
}[]>) | undefined>;
|
|
860
872
|
/** Emits the current value when the select panel closes (useful for multiple mode). */
|
|
861
|
-
closed:
|
|
873
|
+
readonly closed: _angular_core.OutputEmitterRef<string | string[]>;
|
|
862
874
|
readonly fieldId: string;
|
|
863
875
|
searchTerm: string;
|
|
864
876
|
filteredOptions: {
|
|
@@ -877,8 +889,8 @@ declare class SelectComponent extends FxComponent<string | string[]> implements
|
|
|
877
889
|
performSearch(term: string): Promise<void>;
|
|
878
890
|
onSelectionChange(value: any): void;
|
|
879
891
|
isSelected(value: string): boolean;
|
|
880
|
-
static ɵfac:
|
|
881
|
-
static ɵcmp:
|
|
892
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectComponent, never>;
|
|
893
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectComponent, "fx-ui-select", never, { "label": { "alias": "label"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "errorMessages": { "alias": "errorMessages"; "required": false; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "enableSearch": { "alias": "enableSearch"; "required": false; "isSignal": true; }; "searchFn": { "alias": "searchFn"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, never, true, never>;
|
|
882
894
|
}
|
|
883
895
|
|
|
884
896
|
interface IRadioButton {
|
|
@@ -892,34 +904,34 @@ declare class RadioButtonComponent extends FxComponent<IRadioButton> implements
|
|
|
892
904
|
readonly groupId: string;
|
|
893
905
|
label?: string;
|
|
894
906
|
tooltip: string;
|
|
895
|
-
required
|
|
896
|
-
options: {
|
|
907
|
+
readonly required: _angular_core.InputSignal<boolean | undefined>;
|
|
908
|
+
readonly options: _angular_core.InputSignal<{
|
|
897
909
|
label: string;
|
|
898
910
|
value: any;
|
|
899
911
|
icon?: any;
|
|
900
912
|
tooltip?: string;
|
|
901
|
-
}[]
|
|
913
|
+
}[]>;
|
|
902
914
|
errorMessages: ErrorMessages;
|
|
903
|
-
class
|
|
915
|
+
readonly class: _angular_core.InputSignal<any>;
|
|
904
916
|
constructor(ref: ChangeDetectorRef);
|
|
905
917
|
ngAfterViewInit(): void;
|
|
906
918
|
onSelectValue(value: any): void;
|
|
907
|
-
static ɵfac:
|
|
908
|
-
static ɵcmp:
|
|
919
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RadioButtonComponent, never>;
|
|
920
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadioButtonComponent, "fx-ui-radio", never, { "label": { "alias": "label"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "errorMessages": { "alias": "errorMessages"; "required": false; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
909
921
|
}
|
|
910
922
|
|
|
911
923
|
declare class CheckboxComponent extends FxComponent<any> implements AfterViewInit {
|
|
912
924
|
private ref;
|
|
913
925
|
label: string;
|
|
914
|
-
rounded: boolean
|
|
915
|
-
valueChange:
|
|
926
|
+
readonly rounded: _angular_core.InputSignal<boolean | undefined>;
|
|
927
|
+
readonly valueChange: _angular_core.OutputEmitterRef<boolean>;
|
|
916
928
|
constructor(ref: ChangeDetectorRef);
|
|
917
929
|
ngAfterViewInit(): void;
|
|
918
930
|
writeValue(value: any): void;
|
|
919
931
|
onInputChange(event: Event): void;
|
|
920
932
|
markTouched(): void;
|
|
921
|
-
static ɵfac:
|
|
922
|
-
static ɵcmp:
|
|
933
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CheckboxComponent, never>;
|
|
934
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CheckboxComponent, "fx-ui-checkbox", never, { "label": { "alias": "label"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
923
935
|
}
|
|
924
936
|
|
|
925
937
|
interface UploadResult {
|
|
@@ -931,18 +943,19 @@ interface UploadResult {
|
|
|
931
943
|
}[];
|
|
932
944
|
}
|
|
933
945
|
declare class DndUploadComponent {
|
|
934
|
-
|
|
946
|
+
private cdr;
|
|
947
|
+
readonly multiple: _angular_core.InputSignal<boolean>;
|
|
935
948
|
accept: string;
|
|
936
|
-
maxSizeMB: number
|
|
937
|
-
strictSize: boolean
|
|
949
|
+
readonly maxSizeMB: _angular_core.InputSignal<number>;
|
|
950
|
+
readonly strictSize: _angular_core.InputSignal<boolean>;
|
|
938
951
|
/** Icon name from heroicons (outline). Default: 'arrow-up-tray' */
|
|
939
|
-
icon: string
|
|
952
|
+
readonly icon: _angular_core.InputSignal<string>;
|
|
940
953
|
/** CSS color value for accent (border, icon, link). Default uses --gradient-primary-start */
|
|
941
|
-
accentColor: string
|
|
942
|
-
fileDrop:
|
|
943
|
-
fileClick:
|
|
944
|
-
uploadComplete:
|
|
945
|
-
uploadError:
|
|
954
|
+
readonly accentColor: _angular_core.InputSignal<string>;
|
|
955
|
+
readonly fileDrop: _angular_core.OutputEmitterRef<File[]>;
|
|
956
|
+
readonly fileClick: _angular_core.OutputEmitterRef<void>;
|
|
957
|
+
readonly uploadComplete: _angular_core.OutputEmitterRef<File[]>;
|
|
958
|
+
readonly uploadError: _angular_core.OutputEmitterRef<{
|
|
946
959
|
file: File;
|
|
947
960
|
reason: string;
|
|
948
961
|
}>;
|
|
@@ -957,103 +970,123 @@ declare class DndUploadComponent {
|
|
|
957
970
|
private processFiles;
|
|
958
971
|
private onUpload;
|
|
959
972
|
private isAccepted;
|
|
960
|
-
static ɵfac:
|
|
961
|
-
static ɵcmp:
|
|
973
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DndUploadComponent, never>;
|
|
974
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DndUploadComponent, "fx-ui-dnd-upload", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; }; "maxSizeMB": { "alias": "maxSizeMB"; "required": false; "isSignal": true; }; "strictSize": { "alias": "strictSize"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "accentColor": { "alias": "accentColor"; "required": false; "isSignal": true; }; }, { "fileDrop": "fileDrop"; "fileClick": "fileClick"; "uploadComplete": "uploadComplete"; "uploadError": "uploadError"; }, never, never, true, never>;
|
|
962
975
|
}
|
|
963
976
|
|
|
964
977
|
declare class ButtonComponent {
|
|
965
978
|
label: string;
|
|
966
|
-
disabled: boolean
|
|
967
|
-
buttonVariant:
|
|
979
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
980
|
+
readonly buttonVariant: _angular_core.InputSignal<"default" | "success" | "primary" | "alternative">;
|
|
968
981
|
icon?: any;
|
|
969
|
-
class
|
|
970
|
-
loading: boolean
|
|
982
|
+
readonly class: _angular_core.InputSignal<any>;
|
|
983
|
+
readonly loading: _angular_core.InputSignal<boolean>;
|
|
971
984
|
/** Native button type. Defaults to 'button' so it never implicitly submits a form. */
|
|
972
|
-
type:
|
|
985
|
+
readonly type: _angular_core.InputSignal<"button" | "submit" | "reset">;
|
|
973
986
|
/** Accessible name for icon-only usage (icon set, no label). */
|
|
974
|
-
ariaLabel: string
|
|
975
|
-
clicked:
|
|
987
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
988
|
+
readonly clicked: _angular_core.OutputEmitterRef<void>;
|
|
976
989
|
onClick(): void;
|
|
977
|
-
static ɵfac:
|
|
978
|
-
static ɵcmp:
|
|
990
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonComponent, never>;
|
|
991
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "fx-ui-button", never, { "label": { "alias": "label"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "buttonVariant": { "alias": "buttonVariant"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, never>;
|
|
979
992
|
}
|
|
980
993
|
|
|
981
994
|
declare class RadioButtonToggleComponent extends FxComponent<any> implements AfterViewInit {
|
|
982
995
|
private ref;
|
|
983
996
|
readonly groupId: string;
|
|
984
997
|
label?: string;
|
|
985
|
-
required
|
|
986
|
-
options: {
|
|
998
|
+
readonly required: _angular_core.InputSignal<boolean | undefined>;
|
|
999
|
+
readonly options: _angular_core.InputSignal<{
|
|
987
1000
|
label: string;
|
|
988
1001
|
value: any;
|
|
989
1002
|
icon?: any;
|
|
990
|
-
}[]
|
|
1003
|
+
}[]>;
|
|
991
1004
|
errorMessages: ErrorMessages;
|
|
992
|
-
class
|
|
1005
|
+
readonly class: _angular_core.InputSignal<any>;
|
|
993
1006
|
constructor(ref: ChangeDetectorRef);
|
|
994
1007
|
ngAfterViewInit(): void;
|
|
995
1008
|
onSelectValue(value: any): void;
|
|
996
|
-
static ɵfac:
|
|
997
|
-
static ɵcmp:
|
|
1009
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RadioButtonToggleComponent, never>;
|
|
1010
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadioButtonToggleComponent, "fx-ui-radio-toggle, [fx-ui-radio-toggle]", never, { "label": { "alias": "label"; "required": false; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "errorMessages": { "alias": "errorMessages"; "required": false; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
998
1011
|
}
|
|
999
1012
|
|
|
1013
|
+
/**
|
|
1014
|
+
* Date/time field backed by first-party Material pickers (mat-datepicker +
|
|
1015
|
+
* mat-timepicker, the latter first-party since Material 19) — replaces the
|
|
1016
|
+
* former @danielmoncada/angular-datetime-picker + moment adapter stack.
|
|
1017
|
+
*
|
|
1018
|
+
* The public contract is unchanged: the CVA value is a plain string
|
|
1019
|
+
* ('YYYY-MM-DD HH:mm' for type 'both', 'YYYY-MM-DD' for 'calendar',
|
|
1020
|
+
* 'HH:mm' for 'timer'), so existing forms keep working as-is.
|
|
1021
|
+
*/
|
|
1000
1022
|
declare class DatetimePicker extends FxComponent<any> implements AfterViewInit {
|
|
1001
1023
|
private ref;
|
|
1002
1024
|
label?: string;
|
|
1003
|
-
placeholder: string
|
|
1004
|
-
required: boolean
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1025
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
1026
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
1027
|
+
/** 'both' | 'calendar' | 'timer' — same values the Owl picker accepted. */
|
|
1028
|
+
readonly type: _angular_core.InputSignal<"both" | "calendar" | "timer">;
|
|
1029
|
+
readonly minDate: _angular_core.InputSignal<any>;
|
|
1030
|
+
readonly maxDate: _angular_core.InputSignal<any>;
|
|
1008
1031
|
errorMessages: ErrorMessages;
|
|
1009
|
-
validateFn: (date: string) => ValidationErrors | null
|
|
1032
|
+
readonly validateFn: _angular_core.InputSignal<((date: string) => ValidationErrors | null) | undefined>;
|
|
1010
1033
|
readonly fieldId: string;
|
|
1011
|
-
|
|
1034
|
+
/** Internal Date the Material pickers operate on; `value` stays a string. */
|
|
1035
|
+
dateValue: Date | null;
|
|
1012
1036
|
constructor(ref: ChangeDetectorRef);
|
|
1013
1037
|
ngAfterViewInit(): void;
|
|
1038
|
+
get showDate(): boolean;
|
|
1039
|
+
get showTime(): boolean;
|
|
1040
|
+
get min(): Date | null;
|
|
1041
|
+
get max(): Date | null;
|
|
1014
1042
|
onBlur(): void;
|
|
1015
1043
|
writeValue(value: any): void;
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1044
|
+
onDateChange(date: Date | null): void;
|
|
1045
|
+
onTimeChange(time: Date | null): void;
|
|
1046
|
+
private commit;
|
|
1047
|
+
private toDate;
|
|
1048
|
+
private format;
|
|
1049
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatetimePicker, never>;
|
|
1050
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatetimePicker, "fx-ui-datetime-picker", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "errorMessages": { "alias": "errorMessages"; "required": false; }; "validateFn": { "alias": "validateFn"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1019
1051
|
}
|
|
1020
1052
|
|
|
1021
1053
|
declare class LoadingPanel {
|
|
1022
|
-
show: boolean
|
|
1054
|
+
readonly show: _angular_core.InputSignal<boolean>;
|
|
1023
1055
|
message?: string;
|
|
1024
|
-
static ɵfac:
|
|
1025
|
-
static ɵcmp:
|
|
1056
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoadingPanel, never>;
|
|
1057
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoadingPanel, "fx-ui-loading-panel", never, { "show": { "alias": "show"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; }; }, {}, never, never, true, never>;
|
|
1026
1058
|
}
|
|
1027
1059
|
|
|
1028
1060
|
declare class SearchBarComponent extends FxComponent<string> implements AfterViewInit {
|
|
1029
1061
|
private ref;
|
|
1030
|
-
placeholder: string
|
|
1031
|
-
search:
|
|
1032
|
-
valueChange:
|
|
1062
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
1063
|
+
readonly search: _angular_core.OutputEmitterRef<string>;
|
|
1064
|
+
readonly valueChange: _angular_core.OutputEmitterRef<string>;
|
|
1033
1065
|
constructor(ref: ChangeDetectorRef);
|
|
1034
1066
|
ngAfterViewInit(): void;
|
|
1035
1067
|
writeValue(value: string): void;
|
|
1036
1068
|
onValueChange(value: string): void;
|
|
1037
1069
|
onEnterKey(): void;
|
|
1038
1070
|
clear(): void;
|
|
1039
|
-
static ɵfac:
|
|
1040
|
-
static ɵcmp:
|
|
1071
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchBarComponent, never>;
|
|
1072
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchBarComponent, "fx-ui-search-bar", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, { "search": "search"; "valueChange": "valueChange"; }, never, never, true, never>;
|
|
1041
1073
|
}
|
|
1042
1074
|
|
|
1043
1075
|
declare class TabComponent {
|
|
1044
|
-
label: string
|
|
1076
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1045
1077
|
icon?: string;
|
|
1046
|
-
content: TemplateRef<any
|
|
1047
|
-
static ɵfac:
|
|
1048
|
-
static ɵcmp:
|
|
1078
|
+
readonly content: _angular_core.Signal<TemplateRef<any>>;
|
|
1079
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabComponent, never>;
|
|
1080
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabComponent, "fx-ui-tab", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
1049
1081
|
}
|
|
1050
1082
|
|
|
1051
1083
|
declare class TabGroupComponent implements AfterContentInit {
|
|
1052
1084
|
private renderer;
|
|
1053
|
-
|
|
1085
|
+
private cdr;
|
|
1086
|
+
readonly tabs: _angular_core.Signal<readonly TabComponent[]>;
|
|
1054
1087
|
activeIndex: number;
|
|
1055
|
-
tabListRef: ElementRef<HTMLElement
|
|
1056
|
-
underlineRef: ElementRef<HTMLElement
|
|
1088
|
+
readonly tabListRef: _angular_core.Signal<ElementRef<HTMLElement>>;
|
|
1089
|
+
readonly underlineRef: _angular_core.Signal<ElementRef<HTMLElement>>;
|
|
1057
1090
|
canScrollLeft: boolean;
|
|
1058
1091
|
canScrollRight: boolean;
|
|
1059
1092
|
private animateDelay;
|
|
@@ -1070,29 +1103,45 @@ declare class TabGroupComponent implements AfterContentInit {
|
|
|
1070
1103
|
onScroll(): void;
|
|
1071
1104
|
private updateScrollButtons;
|
|
1072
1105
|
onResize(): void;
|
|
1073
|
-
static ɵfac:
|
|
1074
|
-
static ɵcmp:
|
|
1106
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabGroupComponent, never>;
|
|
1107
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabGroupComponent, "fx-ui-tab-group", never, { "activeIndex": { "alias": "activeIndex"; "required": false; }; }, {}, ["tabs"], never, true, never>;
|
|
1075
1108
|
}
|
|
1076
1109
|
|
|
1110
|
+
/**
|
|
1111
|
+
* Where the generated Heroicons sprite is served from. Defaults to
|
|
1112
|
+
* 'fx-icons.svg' at the app base — consumers copy it from the package via an
|
|
1113
|
+
* angular.json assets glob (same pattern as the lib fonts):
|
|
1114
|
+
* { "input": "node_modules/@foxeltech/angular-ui", "glob": "fx-icons.svg", "output": "." }
|
|
1115
|
+
*/
|
|
1116
|
+
declare const FX_ICON_SPRITE_URL: InjectionToken<string>;
|
|
1117
|
+
/**
|
|
1118
|
+
* Heroicons rendered from the self-hosted sprite (see
|
|
1119
|
+
* scripts/generate-icon-sprite.mjs) — every 24px outline/solid icon is
|
|
1120
|
+
* available by name with no per-icon registration and no runtime icon
|
|
1121
|
+
* library. API kept compatible with the old @dimaslz/ng-heroicons wrapper.
|
|
1122
|
+
*/
|
|
1077
1123
|
declare class HeroIconComponent {
|
|
1078
|
-
stroke: number
|
|
1079
|
-
icon:
|
|
1080
|
-
solid: boolean
|
|
1081
|
-
outline: boolean
|
|
1082
|
-
size: number
|
|
1083
|
-
color:
|
|
1084
|
-
class
|
|
1085
|
-
|
|
1086
|
-
|
|
1124
|
+
readonly stroke: _angular_core.InputSignal<number>;
|
|
1125
|
+
readonly icon: _angular_core.InputSignal<string | undefined>;
|
|
1126
|
+
readonly solid: _angular_core.InputSignal<boolean | undefined>;
|
|
1127
|
+
readonly outline: _angular_core.InputSignal<boolean | undefined>;
|
|
1128
|
+
readonly size: _angular_core.InputSignal<number | undefined>;
|
|
1129
|
+
readonly color: _angular_core.InputSignal<string | undefined>;
|
|
1130
|
+
readonly class: _angular_core.InputSignal<string | undefined>;
|
|
1131
|
+
readonly spriteUrl: string;
|
|
1132
|
+
constructor();
|
|
1133
|
+
get href(): string;
|
|
1134
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HeroIconComponent, never>;
|
|
1135
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<HeroIconComponent, "fx-ui-hero-icon", never, { "stroke": { "alias": "stroke"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "solid": { "alias": "solid"; "required": false; "isSignal": true; }; "outline": { "alias": "outline"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1087
1136
|
}
|
|
1088
1137
|
|
|
1089
1138
|
declare class ToastComponent {
|
|
1090
|
-
toastId: number
|
|
1139
|
+
readonly toastId: _angular_core.InputSignal<number>;
|
|
1091
1140
|
title?: string;
|
|
1092
|
-
message: string
|
|
1093
|
-
type:
|
|
1094
|
-
static ɵfac:
|
|
1095
|
-
static ɵcmp:
|
|
1141
|
+
readonly message: _angular_core.InputSignal<string>;
|
|
1142
|
+
readonly type: _angular_core.InputSignal<"error" | "success" | "info" | "warning" | undefined>;
|
|
1143
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToastComponent, never>;
|
|
1144
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToastComponent, "fx-ui-toast", never, { "toastId": { "alias": "toastId"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": false; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1096
1145
|
}
|
|
1097
1146
|
|
|
1098
1147
|
declare class ToastContainerComponent {
|
|
@@ -1101,79 +1150,32 @@ declare class ToastContainerComponent {
|
|
|
1101
1150
|
constructor(ref: ChangeDetectorRef);
|
|
1102
1151
|
addToast(toast: any): void;
|
|
1103
1152
|
removeToast(id: number): void;
|
|
1104
|
-
static ɵfac:
|
|
1105
|
-
static ɵcmp:
|
|
1153
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToastContainerComponent, never>;
|
|
1154
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToastContainerComponent, "fx-ui-toast-container", never, {}, {}, never, never, true, never>;
|
|
1106
1155
|
}
|
|
1107
1156
|
|
|
1108
1157
|
type TagType = 'success' | 'warning' | 'critical' | 'information' | 'discovery' | 'default' | 'danger';
|
|
1109
1158
|
declare class TagComponent {
|
|
1110
|
-
label: string
|
|
1111
|
-
type: TagType
|
|
1112
|
-
rounded: boolean
|
|
1113
|
-
icon?:
|
|
1114
|
-
solid: boolean
|
|
1159
|
+
readonly label: _angular_core.InputSignal<string | undefined>;
|
|
1160
|
+
readonly type: _angular_core.InputSignal<TagType>;
|
|
1161
|
+
readonly rounded: _angular_core.InputSignal<boolean>;
|
|
1162
|
+
icon?: string;
|
|
1163
|
+
readonly solid: _angular_core.InputSignal<boolean>;
|
|
1115
1164
|
clicked: EventEmitter<void>;
|
|
1116
1165
|
onClick(): void;
|
|
1117
|
-
static ɵfac:
|
|
1118
|
-
static ɵcmp:
|
|
1119
|
-
}
|
|
1120
|
-
|
|
1121
|
-
type IChartType = 'bar' | 'pie' | 'sunburst' | 'auto';
|
|
1122
|
-
declare class ChartComponent implements OnChanges, AfterViewInit, OnDestroy {
|
|
1123
|
-
private ref;
|
|
1124
|
-
private cdr;
|
|
1125
|
-
type: IChartType;
|
|
1126
|
-
data: any;
|
|
1127
|
-
options?: EChartsOption;
|
|
1128
|
-
palette?: string[];
|
|
1129
|
-
height: string;
|
|
1130
|
-
loading: boolean;
|
|
1131
|
-
pieLegendAlign: string | number;
|
|
1132
|
-
pieLegendPosition: string | number;
|
|
1133
|
-
showPieLabel: boolean;
|
|
1134
|
-
mobileWidth: number;
|
|
1135
|
-
labelFontFamily: string;
|
|
1136
|
-
emptyText: string;
|
|
1137
|
-
chartClick: EventEmitter<any>;
|
|
1138
|
-
chartInit: EventEmitter<ECharts>;
|
|
1139
|
-
chartOptions: EChartsOption;
|
|
1140
|
-
isEmpty: boolean;
|
|
1141
|
-
labelFontSize: number;
|
|
1142
|
-
private chartInstance?;
|
|
1143
|
-
private resizeObserver?;
|
|
1144
|
-
private intersectionObserver?;
|
|
1145
|
-
private canInit;
|
|
1146
|
-
private isMobile;
|
|
1147
|
-
private containerWidth;
|
|
1148
|
-
constructor(ref: ElementRef<HTMLElement>, cdr: ChangeDetectorRef);
|
|
1149
|
-
ngAfterViewInit(): void;
|
|
1150
|
-
ngOnChanges(): void;
|
|
1151
|
-
ngOnDestroy(): void;
|
|
1152
|
-
onThemeChange(): void;
|
|
1153
|
-
onChartClick(event: any): void;
|
|
1154
|
-
onChartInit(chart: any): void;
|
|
1155
|
-
private updateResponsiveState;
|
|
1156
|
-
private forceMediaRecalc;
|
|
1157
|
-
private rebuildChart;
|
|
1158
|
-
private checkEmpty;
|
|
1159
|
-
private registry;
|
|
1160
|
-
private calcPieLayout;
|
|
1161
|
-
private detectType;
|
|
1162
|
-
private buildOptions;
|
|
1163
|
-
private resolvePalette;
|
|
1164
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ChartComponent, never>;
|
|
1165
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ChartComponent, "fx-ui-chart", never, { "type": { "alias": "type"; "required": false; }; "data": { "alias": "data"; "required": false; }; "options": { "alias": "options"; "required": false; }; "palette": { "alias": "palette"; "required": false; }; "height": { "alias": "height"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "pieLegendAlign": { "alias": "pieLegendAlign"; "required": false; }; "pieLegendPosition": { "alias": "pieLegendPosition"; "required": false; }; "showPieLabel": { "alias": "showPieLabel"; "required": false; }; "mobileWidth": { "alias": "mobileWidth"; "required": false; }; "labelFontFamily": { "alias": "labelFontFamily"; "required": false; }; "emptyText": { "alias": "emptyText"; "required": false; }; }, { "chartClick": "chartClick"; "chartInit": "chartInit"; }, never, never, false, never>;
|
|
1166
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TagComponent, never>;
|
|
1167
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TagComponent, "fx-ui-tag", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; }; "solid": { "alias": "solid"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, never>;
|
|
1166
1168
|
}
|
|
1167
1169
|
|
|
1168
1170
|
declare class SliderComponent extends FxComponent<any> implements AfterViewInit {
|
|
1169
1171
|
private ref;
|
|
1170
|
-
trackRef: ElementRef<HTMLElement
|
|
1171
|
-
thumbRef: ElementRef<HTMLElement
|
|
1172
|
-
min: number
|
|
1173
|
-
max: number
|
|
1174
|
-
step: number
|
|
1175
|
-
vertical: boolean
|
|
1176
|
-
valueChange:
|
|
1172
|
+
readonly trackRef: _angular_core.Signal<ElementRef<HTMLElement>>;
|
|
1173
|
+
readonly thumbRef: _angular_core.Signal<ElementRef<HTMLElement>>;
|
|
1174
|
+
readonly min: _angular_core.InputSignal<number>;
|
|
1175
|
+
readonly max: _angular_core.InputSignal<number>;
|
|
1176
|
+
readonly step: _angular_core.InputSignal<number>;
|
|
1177
|
+
readonly vertical: _angular_core.InputSignal<boolean>;
|
|
1178
|
+
readonly valueChange: _angular_core.OutputEmitterRef<number>;
|
|
1177
1179
|
dragging: boolean;
|
|
1178
1180
|
constructor(ref: ChangeDetectorRef);
|
|
1179
1181
|
ngAfterViewInit(): void;
|
|
@@ -1200,68 +1202,39 @@ declare class SliderComponent extends FxComponent<any> implements AfterViewInit
|
|
|
1200
1202
|
transform: string;
|
|
1201
1203
|
bottom?: undefined;
|
|
1202
1204
|
};
|
|
1203
|
-
static ɵfac:
|
|
1204
|
-
static ɵcmp:
|
|
1205
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SliderComponent, never>;
|
|
1206
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SliderComponent, "fx-ui-slider", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "vertical": { "alias": "vertical"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
1205
1207
|
}
|
|
1206
1208
|
|
|
1207
1209
|
declare class SwitchComponent extends FxComponent<any> implements AfterViewInit {
|
|
1208
|
-
|
|
1209
|
-
onSwitch: EventEmitter<boolean>;
|
|
1210
|
+
readonly onSwitch: _angular_core.OutputEmitterRef<boolean>;
|
|
1210
1211
|
/** Accessible name — the switch renders no visible text of its own. */
|
|
1211
|
-
ariaLabel: string
|
|
1212
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
1212
1213
|
ngAfterViewInit(): void;
|
|
1213
|
-
constructor(cdr: ChangeDetectorRef);
|
|
1214
1214
|
writeValue(value: any): void;
|
|
1215
1215
|
toggle(): void;
|
|
1216
|
-
static ɵfac:
|
|
1217
|
-
static ɵcmp:
|
|
1218
|
-
}
|
|
1219
|
-
|
|
1220
|
-
declare class RichTextAreaComponent extends FxComponent<any> implements AfterViewInit {
|
|
1221
|
-
private cdr;
|
|
1222
|
-
private styleLoader;
|
|
1223
|
-
private platformId;
|
|
1224
|
-
editorContainer: ElementRef<HTMLDivElement>;
|
|
1225
|
-
placeholder: string;
|
|
1226
|
-
toolbarOptions: any;
|
|
1227
|
-
contentChange: EventEmitter<string>;
|
|
1228
|
-
private quillInstance;
|
|
1229
|
-
constructor(cdr: ChangeDetectorRef, styleLoader: QuillStyleLoaderService, platformId: object);
|
|
1230
|
-
ngAfterViewInit(): Promise<void>;
|
|
1231
|
-
writeValue(value: any): void;
|
|
1232
|
-
setDisabledState(isDisabled: boolean): void;
|
|
1233
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RichTextAreaComponent, never>;
|
|
1234
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RichTextAreaComponent, "fx-ui-rich-text-area", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "toolbarOptions": { "alias": "toolbarOptions"; "required": false; }; }, { "contentChange": "contentChange"; }, never, never, false, never>;
|
|
1216
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SwitchComponent, never>;
|
|
1217
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SwitchComponent, "fx-ui-switch", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "onSwitch": "onSwitch"; }, never, never, true, never>;
|
|
1235
1218
|
}
|
|
1236
1219
|
|
|
1237
1220
|
declare class SkeletonTableLoadingComponent {
|
|
1238
|
-
columns: number
|
|
1239
|
-
rows: number
|
|
1240
|
-
static ɵfac:
|
|
1241
|
-
static ɵcmp:
|
|
1242
|
-
}
|
|
1243
|
-
|
|
1244
|
-
declare class FlowConnection {
|
|
1245
|
-
nodes: Node[];
|
|
1246
|
-
edges: Edge[];
|
|
1247
|
-
backgroundColor: any;
|
|
1248
|
-
view: any;
|
|
1249
|
-
handleConnection(connection: Connection): void;
|
|
1250
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FlowConnection, never>;
|
|
1251
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FlowConnection, "fx-ui-flow-connection", never, { "nodes": { "alias": "nodes"; "required": false; }; "edges": { "alias": "edges"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "view": { "alias": "view"; "required": false; }; }, {}, never, never, false, never>;
|
|
1221
|
+
readonly columns: _angular_core.InputSignal<number>;
|
|
1222
|
+
readonly rows: _angular_core.InputSignal<number>;
|
|
1223
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkeletonTableLoadingComponent, never>;
|
|
1224
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkeletonTableLoadingComponent, "fx-ui-skeleton-table-loading", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1252
1225
|
}
|
|
1253
1226
|
|
|
1254
1227
|
declare class CircleProgressBar {
|
|
1255
|
-
percent: number
|
|
1256
|
-
showPercent: boolean
|
|
1228
|
+
readonly percent: _angular_core.InputSignal<number>;
|
|
1229
|
+
readonly showPercent: _angular_core.InputSignal<boolean>;
|
|
1257
1230
|
readonly radius = 35;
|
|
1258
1231
|
readonly stroke = 10;
|
|
1259
1232
|
readonly normalizedRadius: number;
|
|
1260
1233
|
readonly circumference: number;
|
|
1261
1234
|
get dashOffset(): number;
|
|
1262
1235
|
get ariaLabel(): string;
|
|
1263
|
-
static ɵfac:
|
|
1264
|
-
static ɵcmp:
|
|
1236
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CircleProgressBar, never>;
|
|
1237
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CircleProgressBar, "fx-ui-circle-progress-bar", never, { "percent": { "alias": "percent"; "required": false; "isSignal": true; }; "showPercent": { "alias": "showPercent"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1265
1238
|
}
|
|
1266
1239
|
|
|
1267
1240
|
interface TreeNode {
|
|
@@ -1273,9 +1246,9 @@ interface TreeNode {
|
|
|
1273
1246
|
declare class TreeDiagram implements AfterViewInit, OnDestroy {
|
|
1274
1247
|
private zone;
|
|
1275
1248
|
private cdr;
|
|
1276
|
-
data: any
|
|
1277
|
-
container: ElementRef
|
|
1278
|
-
root: ElementRef
|
|
1249
|
+
readonly data: _angular_core.InputSignal<any>;
|
|
1250
|
+
readonly container: _angular_core.Signal<ElementRef<any>>;
|
|
1251
|
+
readonly root: _angular_core.Signal<ElementRef<any>>;
|
|
1279
1252
|
children: QueryList<ElementRef>;
|
|
1280
1253
|
lines: any[];
|
|
1281
1254
|
svgWidth: number;
|
|
@@ -1287,15 +1260,15 @@ declare class TreeDiagram implements AfterViewInit, OnDestroy {
|
|
|
1287
1260
|
ngOnDestroy(): void;
|
|
1288
1261
|
private scheduleDraw;
|
|
1289
1262
|
private drawLines;
|
|
1290
|
-
static ɵfac:
|
|
1291
|
-
static ɵcmp:
|
|
1263
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TreeDiagram, never>;
|
|
1264
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TreeDiagram, "fx-ui-tree-diagram", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1292
1265
|
}
|
|
1293
1266
|
|
|
1294
1267
|
declare class TableCell {
|
|
1295
|
-
loading: boolean
|
|
1296
|
-
skeletonClass: string
|
|
1297
|
-
static ɵfac:
|
|
1298
|
-
static ɵcmp:
|
|
1268
|
+
readonly loading: _angular_core.InputSignal<boolean>;
|
|
1269
|
+
readonly skeletonClass: _angular_core.InputSignal<string>;
|
|
1270
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableCell, never>;
|
|
1271
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableCell, "fx-ui-table-cell", never, { "loading": { "alias": "loading"; "required": true; "isSignal": true; }; "skeletonClass": { "alias": "skeletonClass"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1299
1272
|
}
|
|
1300
1273
|
|
|
1301
1274
|
interface KanbanColumn<T = any> {
|
|
@@ -1312,9 +1285,9 @@ interface ColumnChangedEvent<T = any> {
|
|
|
1312
1285
|
}
|
|
1313
1286
|
|
|
1314
1287
|
declare class KanbanBoardComponent<T = any> {
|
|
1315
|
-
columns: KanbanColumn<T>[]
|
|
1288
|
+
readonly columns: _angular_core.InputSignal<KanbanColumn<T>[]>;
|
|
1316
1289
|
itemTemplate?: TemplateRef<any>;
|
|
1317
|
-
columnChanged:
|
|
1290
|
+
readonly columnChanged: _angular_core.OutputEmitterRef<ColumnChangedEvent<T>>;
|
|
1318
1291
|
/**
|
|
1319
1292
|
* Get all column IDs for connecting drop lists
|
|
1320
1293
|
*/
|
|
@@ -1323,8 +1296,8 @@ declare class KanbanBoardComponent<T = any> {
|
|
|
1323
1296
|
* Handle drop event when item is moved
|
|
1324
1297
|
*/
|
|
1325
1298
|
onDrop(event: CdkDragDrop<T[]>, columnId: string): void;
|
|
1326
|
-
static ɵfac:
|
|
1327
|
-
static ɵcmp:
|
|
1299
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KanbanBoardComponent<any>, never>;
|
|
1300
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KanbanBoardComponent<any>, "fx-ui-kanban-board", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; }, { "columnChanged": "columnChanged"; }, never, never, true, never>;
|
|
1328
1301
|
}
|
|
1329
1302
|
|
|
1330
1303
|
interface DrawerItem {
|
|
@@ -1338,12 +1311,13 @@ interface DrawerItem {
|
|
|
1338
1311
|
|
|
1339
1312
|
declare class DrawerComponent implements OnInit, OnDestroy {
|
|
1340
1313
|
private router;
|
|
1341
|
-
|
|
1314
|
+
private cdr;
|
|
1315
|
+
readonly items: _angular_core.InputSignal<DrawerItem[]>;
|
|
1342
1316
|
isExpanded: boolean;
|
|
1343
1317
|
logo?: string;
|
|
1344
1318
|
version?: string;
|
|
1345
|
-
toggleExpanded:
|
|
1346
|
-
itemClicked:
|
|
1319
|
+
readonly toggleExpanded: _angular_core.OutputEmitterRef<boolean>;
|
|
1320
|
+
readonly itemClicked: _angular_core.OutputEmitterRef<DrawerItem>;
|
|
1347
1321
|
expandedItems: Set<string>;
|
|
1348
1322
|
currentRoute: string;
|
|
1349
1323
|
private destroy$;
|
|
@@ -1359,28 +1333,28 @@ declare class DrawerComponent implements OnInit, OnDestroy {
|
|
|
1359
1333
|
private autoExpandActiveParents;
|
|
1360
1334
|
getAccordionState(itemId: string): string;
|
|
1361
1335
|
getDrawerState(): string;
|
|
1362
|
-
static ɵfac:
|
|
1363
|
-
static ɵcmp:
|
|
1336
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerComponent, never>;
|
|
1337
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DrawerComponent, "fx-ui-drawer", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "isExpanded": { "alias": "isExpanded"; "required": false; }; "logo": { "alias": "logo"; "required": false; }; "version": { "alias": "version"; "required": false; }; }, { "toggleExpanded": "toggleExpanded"; "itemClicked": "itemClicked"; }, never, never, true, never>;
|
|
1364
1338
|
}
|
|
1365
1339
|
|
|
1366
1340
|
/** Row-card skeleton placeholder for master-detail list panes. */
|
|
1367
1341
|
declare class SkeletonListComponent {
|
|
1368
|
-
rows: number
|
|
1342
|
+
readonly rows: _angular_core.InputSignal<number>;
|
|
1369
1343
|
range(n: number): number[];
|
|
1370
|
-
static ɵfac:
|
|
1371
|
-
static ɵcmp:
|
|
1344
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkeletonListComponent, never>;
|
|
1345
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkeletonListComponent, "fx-ui-skeleton-list", never, { "rows": { "alias": "rows"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1372
1346
|
}
|
|
1373
1347
|
|
|
1374
1348
|
/** Card-shaped skeleton placeholder for detail panels. */
|
|
1375
1349
|
declare class SkeletonDetailComponent {
|
|
1376
1350
|
/** Number of content cards rendered below the header card. */
|
|
1377
|
-
cards: number
|
|
1351
|
+
readonly cards: _angular_core.InputSignal<number>;
|
|
1378
1352
|
/** Rows per content card. */
|
|
1379
|
-
rows: number
|
|
1353
|
+
readonly rows: _angular_core.InputSignal<number>;
|
|
1380
1354
|
range(n: number): number[];
|
|
1381
1355
|
rowWidth(i: number): number;
|
|
1382
|
-
static ɵfac:
|
|
1383
|
-
static ɵcmp:
|
|
1356
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkeletonDetailComponent, never>;
|
|
1357
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkeletonDetailComponent, "fx-ui-skeleton-detail", never, { "cards": { "alias": "cards"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1384
1358
|
}
|
|
1385
1359
|
|
|
1386
1360
|
interface FxStatCard {
|
|
@@ -1388,31 +1362,31 @@ interface FxStatCard {
|
|
|
1388
1362
|
label: string;
|
|
1389
1363
|
value: string | number;
|
|
1390
1364
|
/** hero-icon name shown in the tinted box. */
|
|
1391
|
-
icon?:
|
|
1365
|
+
icon?: string;
|
|
1392
1366
|
/** Colours the number and the icon box; null/undefined renders neutral. */
|
|
1393
1367
|
tone?: Tone | null;
|
|
1394
1368
|
}
|
|
1395
1369
|
/** KPI tile row: big number + tinted icon box + caption, in a responsive grid. */
|
|
1396
1370
|
declare class StatCardsComponent {
|
|
1397
|
-
cards: FxStatCard[]
|
|
1371
|
+
readonly cards: _angular_core.InputSignal<FxStatCard[]>;
|
|
1398
1372
|
/** Grid columns; defaults to one column per card. */
|
|
1399
1373
|
cols?: number;
|
|
1400
1374
|
get gridColumns(): string;
|
|
1401
1375
|
numClass(card: FxStatCard): string;
|
|
1402
1376
|
boxClass(card: FxStatCard): string;
|
|
1403
|
-
static ɵfac:
|
|
1404
|
-
static ɵcmp:
|
|
1377
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StatCardsComponent, never>;
|
|
1378
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StatCardsComponent, "fx-ui-stat-cards", never, { "cards": { "alias": "cards"; "required": false; "isSignal": true; }; "cols": { "alias": "cols"; "required": false; }; }, {}, never, never, true, never>;
|
|
1405
1379
|
}
|
|
1406
1380
|
|
|
1407
1381
|
/** Centered "no data" block. The message is caller-translated (no i18n in lib). */
|
|
1408
1382
|
declare class EmptyStateComponent {
|
|
1409
|
-
message: string
|
|
1383
|
+
readonly message: _angular_core.InputSignal<string>;
|
|
1410
1384
|
/** Optional icon (hero-icon name). */
|
|
1411
1385
|
icon?: any;
|
|
1412
1386
|
/** Min height of the block, CSS length. */
|
|
1413
|
-
height: string
|
|
1414
|
-
static ɵfac:
|
|
1415
|
-
static ɵcmp:
|
|
1387
|
+
readonly height: _angular_core.InputSignal<string>;
|
|
1388
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmptyStateComponent, never>;
|
|
1389
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EmptyStateComponent, "fx-ui-empty-state", never, { "message": { "alias": "message"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1416
1390
|
}
|
|
1417
1391
|
|
|
1418
1392
|
interface FxFilterChipOption {
|
|
@@ -1428,40 +1402,40 @@ interface FxFilterChipOption {
|
|
|
1428
1402
|
*/
|
|
1429
1403
|
declare class FilterChipsComponent {
|
|
1430
1404
|
options: FxFilterChipOption[];
|
|
1431
|
-
value: string;
|
|
1432
|
-
valueChange:
|
|
1405
|
+
value: string | undefined;
|
|
1406
|
+
readonly valueChange: _angular_core.OutputEmitterRef<string>;
|
|
1433
1407
|
/** Per-value tone overrides (e.g. { Safe: 'information', Protected: 'discovery' as any }). */
|
|
1434
1408
|
toneOverrides: Record<string, Tone | null>;
|
|
1435
1409
|
select(option: FxFilterChipOption): void;
|
|
1436
1410
|
chipClass(option: FxFilterChipOption): string;
|
|
1437
|
-
static ɵfac:
|
|
1438
|
-
static ɵcmp:
|
|
1411
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterChipsComponent, never>;
|
|
1412
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterChipsComponent, "fx-ui-filter-chips", never, { "options": { "alias": "options"; "required": false; }; "value": { "alias": "value"; "required": false; }; "toneOverrides": { "alias": "toneOverrides"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
1439
1413
|
}
|
|
1440
1414
|
|
|
1441
1415
|
/** Thin tone-coloured progress/score bar with optional label and caption. */
|
|
1442
1416
|
declare class MeterComponent {
|
|
1443
1417
|
value: number;
|
|
1444
1418
|
max: number;
|
|
1445
|
-
tone: Tone | null
|
|
1419
|
+
readonly tone: _angular_core.InputSignal<Tone | null>;
|
|
1446
1420
|
/** Caller-translated texts; omitted → bar only. */
|
|
1447
1421
|
label?: string;
|
|
1448
1422
|
caption?: string;
|
|
1449
1423
|
get percent(): number;
|
|
1450
1424
|
get fillClass(): string;
|
|
1451
|
-
static ɵfac:
|
|
1452
|
-
static ɵcmp:
|
|
1425
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MeterComponent, never>;
|
|
1426
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MeterComponent, "fx-ui-meter", never, { "value": { "alias": "value"; "required": false; }; "max": { "alias": "max"; "required": false; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; }, {}, never, never, true, never>;
|
|
1453
1427
|
}
|
|
1454
1428
|
|
|
1455
1429
|
/** Detail-panel section: card with an icon + heading header and projected body. */
|
|
1456
1430
|
declare class SectionCardComponent {
|
|
1457
1431
|
/** Caller-translated heading. */
|
|
1458
|
-
title: string
|
|
1432
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
1459
1433
|
/** hero-icon name; omitted → text-only header. */
|
|
1460
1434
|
icon?: any;
|
|
1461
|
-
iconTone: Tone | null
|
|
1435
|
+
readonly iconTone: _angular_core.InputSignal<Tone | null>;
|
|
1462
1436
|
get iconClass(): string;
|
|
1463
|
-
static ɵfac:
|
|
1464
|
-
static ɵcmp:
|
|
1437
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SectionCardComponent, never>;
|
|
1438
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SectionCardComponent, "fx-ui-section-card", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; }; "iconTone": { "alias": "iconTone"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1465
1439
|
}
|
|
1466
1440
|
|
|
1467
1441
|
/**
|
|
@@ -1471,18 +1445,18 @@ declare class SectionCardComponent {
|
|
|
1471
1445
|
*/
|
|
1472
1446
|
declare class InfoFieldComponent {
|
|
1473
1447
|
/** Caller-translated label. */
|
|
1474
|
-
label: string
|
|
1448
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1475
1449
|
value: string | number | null | undefined;
|
|
1476
1450
|
/** Colours the value; null/undefined renders the primary text colour. */
|
|
1477
1451
|
tone: Tone | null;
|
|
1478
1452
|
/** Monospace value (hashes, paths). */
|
|
1479
1453
|
mono: boolean;
|
|
1480
1454
|
/** Placeholder when value is empty. */
|
|
1481
|
-
placeholder: string
|
|
1455
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
1482
1456
|
get displayValue(): string;
|
|
1483
1457
|
get valueClass(): string;
|
|
1484
|
-
static ɵfac:
|
|
1485
|
-
static ɵcmp:
|
|
1458
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InfoFieldComponent, never>;
|
|
1459
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InfoFieldComponent, "fx-ui-info-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; "tone": { "alias": "tone"; "required": false; }; "mono": { "alias": "mono"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1486
1460
|
}
|
|
1487
1461
|
|
|
1488
1462
|
interface FxSeverityBadge {
|
|
@@ -1507,12 +1481,12 @@ declare class SeverityBadgesComponent {
|
|
|
1507
1481
|
showZero: boolean;
|
|
1508
1482
|
/** Append the severity letter to counts ("3C", "5H", "2M") per the report design. */
|
|
1509
1483
|
suffixed: boolean;
|
|
1510
|
-
badgeClick:
|
|
1484
|
+
readonly badgeClick: _angular_core.OutputEmitterRef<string>;
|
|
1511
1485
|
private static readonly TONES;
|
|
1512
1486
|
get badges(): FxSeverityBadge[];
|
|
1513
1487
|
badgeClass(badge: FxSeverityBadge): string;
|
|
1514
|
-
static ɵfac:
|
|
1515
|
-
static ɵcmp:
|
|
1488
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SeverityBadgesComponent, never>;
|
|
1489
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SeverityBadgesComponent, "fx-ui-severity-badges", never, { "stats": { "alias": "stats"; "required": false; }; "showZero": { "alias": "showZero"; "required": false; }; "suffixed": { "alias": "suffixed"; "required": false; }; }, { "badgeClick": "badgeClick"; }, never, never, true, never>;
|
|
1516
1490
|
}
|
|
1517
1491
|
|
|
1518
1492
|
/**
|
|
@@ -1533,23 +1507,54 @@ declare class SeverityBadgesComponent {
|
|
|
1533
1507
|
declare class MasterDetailComponent implements AfterViewInit {
|
|
1534
1508
|
table: BaseMasterDetailComponent<any>;
|
|
1535
1509
|
/** Fixed list-pane width on lg+ viewports (stacked full-width below). */
|
|
1536
|
-
listWidth: string
|
|
1537
|
-
maxListHeight: string
|
|
1538
|
-
pageSizeOptions: number[]
|
|
1510
|
+
readonly listWidth: _angular_core.InputSignal<string>;
|
|
1511
|
+
readonly maxListHeight: _angular_core.InputSignal<string>;
|
|
1512
|
+
readonly pageSizeOptions: _angular_core.InputSignal<number[]>;
|
|
1539
1513
|
/** Labels come in via inputs — the lib carries no i18n. */
|
|
1540
|
-
emptyMessage: string
|
|
1541
|
-
listLabel: string
|
|
1542
|
-
skeletonCards: number
|
|
1543
|
-
rowTemplate: TemplateRef<any
|
|
1544
|
-
detailTemplate: TemplateRef<any
|
|
1545
|
-
paginator: MatPaginator
|
|
1514
|
+
readonly emptyMessage: _angular_core.InputSignal<string>;
|
|
1515
|
+
readonly listLabel: _angular_core.InputSignal<string>;
|
|
1516
|
+
readonly skeletonCards: _angular_core.InputSignal<number>;
|
|
1517
|
+
readonly rowTemplate: _angular_core.Signal<TemplateRef<any>>;
|
|
1518
|
+
readonly detailTemplate: _angular_core.Signal<TemplateRef<any>>;
|
|
1519
|
+
readonly paginator: _angular_core.Signal<MatPaginator>;
|
|
1546
1520
|
readonly uid: string;
|
|
1547
1521
|
ngAfterViewInit(): void;
|
|
1548
1522
|
isSelected(row: any): boolean;
|
|
1549
1523
|
optionId(index: number): string;
|
|
1550
1524
|
onKeydown(event: KeyboardEvent, index: number): void;
|
|
1551
|
-
static ɵfac:
|
|
1552
|
-
static ɵcmp:
|
|
1525
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MasterDetailComponent, never>;
|
|
1526
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MasterDetailComponent, "fx-ui-master-detail", never, { "table": { "alias": "table"; "required": false; }; "listWidth": { "alias": "listWidth"; "required": false; "isSignal": true; }; "maxListHeight": { "alias": "maxListHeight"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "listLabel": { "alias": "listLabel"; "required": false; "isSignal": true; }; "skeletonCards": { "alias": "skeletonCards"; "required": false; "isSignal": true; }; }, {}, ["rowTemplate", "detailTemplate"], ["[mdHeader]", "[mdFilters]"], true, never>;
|
|
1527
|
+
}
|
|
1528
|
+
|
|
1529
|
+
interface FxMenuItem {
|
|
1530
|
+
/** Caller-translated label. */
|
|
1531
|
+
label: string;
|
|
1532
|
+
/** Optional hero-icon name shown before the label. */
|
|
1533
|
+
icon?: string;
|
|
1534
|
+
/** Danger/warning items get the matching text tone. */
|
|
1535
|
+
tone?: Tone | null;
|
|
1536
|
+
disabled?: boolean;
|
|
1537
|
+
/** Free-form identifier handed back on (select). */
|
|
1538
|
+
value?: any;
|
|
1539
|
+
}
|
|
1540
|
+
/**
|
|
1541
|
+
* Row-action dropdown wrapper over mat-menu (behavior-layer rule, Playbook
|
|
1542
|
+
* §5.1 — apps never import @angular/material directly). Project the trigger
|
|
1543
|
+
* content; items render from [items] and come back through (select).
|
|
1544
|
+
*
|
|
1545
|
+
* <fx-ui-menu [items]="actions" (select)="onAction($event)">
|
|
1546
|
+
* <fx-ui-hero-icon icon="ellipsis-vertical" [size]="20" />
|
|
1547
|
+
* </fx-ui-menu>
|
|
1548
|
+
*/
|
|
1549
|
+
declare class MenuComponent {
|
|
1550
|
+
readonly items: _angular_core.InputSignal<FxMenuItem[]>;
|
|
1551
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1552
|
+
/** Accessible name for the trigger button. */
|
|
1553
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
1554
|
+
readonly select: _angular_core.OutputEmitterRef<FxMenuItem>;
|
|
1555
|
+
toneClass(item: FxMenuItem): string;
|
|
1556
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuComponent, never>;
|
|
1557
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuComponent, "fx-ui-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "select": "select"; }, never, ["*"], true, never>;
|
|
1553
1558
|
}
|
|
1554
1559
|
|
|
1555
1560
|
declare class ConfirmationDialogComponent {
|
|
@@ -1563,24 +1568,26 @@ declare class ConfirmationDialogComponent {
|
|
|
1563
1568
|
constructor(ref: MatDialogRef<ConfirmationDialogComponent>, bindings: any);
|
|
1564
1569
|
accept(): Promise<void>;
|
|
1565
1570
|
cancel(): void;
|
|
1566
|
-
static ɵfac:
|
|
1567
|
-
static ɵcmp:
|
|
1568
|
-
}
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1571
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConfirmationDialogComponent, never>;
|
|
1572
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConfirmationDialogComponent, "fx-ui-confirmation-dialog", never, {}, {}, never, never, true, never>;
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1575
|
+
/**
|
|
1576
|
+
* Compatibility barrel over the (now standalone) core components.
|
|
1577
|
+
*
|
|
1578
|
+
* Deliberately NOT re-exported anymore: Angular Material —
|
|
1579
|
+
* Material is a behavior layer that stays an
|
|
1580
|
+
* implementation detail of this lib (Playbook §5.1); each standalone
|
|
1581
|
+
* component imports what it needs itself. Apps consume fx-ui-* only.
|
|
1582
|
+
*
|
|
1583
|
+
* Heavy components live in secondary entry points and are not part of this
|
|
1584
|
+
* barrel: @foxeltech/angular-ui/chart, /flow, /rich-text.
|
|
1585
|
+
*/
|
|
1579
1586
|
declare class UiModule {
|
|
1580
|
-
static ɵfac:
|
|
1581
|
-
static ɵmod:
|
|
1582
|
-
static ɵinj:
|
|
1587
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UiModule, never>;
|
|
1588
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<UiModule, never, [typeof i1$1.FormsModule, typeof i1$1.ReactiveFormsModule, typeof i2.RouterModule, typeof HasPermissionDirective, typeof TrimOnBlurDirective, typeof InputComponent, typeof SelectComponent, typeof RadioButtonComponent, typeof CheckboxComponent, typeof DndUploadComponent, typeof ButtonComponent, typeof RadioButtonToggleComponent, typeof DatetimePicker, typeof LoadingPanel, typeof SearchBarComponent, typeof TabGroupComponent, typeof TabComponent, typeof HeroIconComponent, typeof ToastComponent, typeof ToastContainerComponent, typeof TagComponent, typeof SliderComponent, typeof SwitchComponent, typeof SkeletonTableLoadingComponent, typeof CircleProgressBar, typeof TreeDiagram, typeof TableCell, typeof KanbanBoardComponent, typeof DrawerComponent, typeof SkeletonListComponent, typeof SkeletonDetailComponent, typeof StatCardsComponent, typeof EmptyStateComponent, typeof FilterChipsComponent, typeof MeterComponent, typeof SectionCardComponent, typeof InfoFieldComponent, typeof SeverityBadgesComponent, typeof MasterDetailComponent, typeof MenuComponent, typeof ConfirmationDialogComponent], [typeof InputComponent, typeof SelectComponent, typeof RadioButtonComponent, typeof CheckboxComponent, typeof DndUploadComponent, typeof ButtonComponent, typeof RadioButtonToggleComponent, typeof DatetimePicker, typeof LoadingPanel, typeof SearchBarComponent, typeof TabGroupComponent, typeof TabComponent, typeof HeroIconComponent, typeof ToastComponent, typeof ToastContainerComponent, typeof TagComponent, typeof SliderComponent, typeof SwitchComponent, typeof SkeletonTableLoadingComponent, typeof CircleProgressBar, typeof TreeDiagram, typeof TableCell, typeof KanbanBoardComponent, typeof DrawerComponent, typeof SkeletonListComponent, typeof SkeletonDetailComponent, typeof StatCardsComponent, typeof EmptyStateComponent, typeof FilterChipsComponent, typeof MeterComponent, typeof SectionCardComponent, typeof InfoFieldComponent, typeof SeverityBadgesComponent, typeof MasterDetailComponent, typeof MenuComponent, typeof ConfirmationDialogComponent, typeof i1$1.FormsModule, typeof i1$1.ReactiveFormsModule, typeof i2.RouterModule, typeof HasPermissionDirective, typeof TrimOnBlurDirective]>;
|
|
1589
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<UiModule>;
|
|
1583
1590
|
}
|
|
1584
1591
|
|
|
1585
|
-
export { AuthInterceptor, AuthStateService, BaseComponent, BaseDialogComponent, BaseMasterDetailComponent, BaseResolver, BaseTableComponent, BreadcrumbService, ButtonComponent,
|
|
1586
|
-
export type { Breadcrumb, ColumnChangedEvent, FxApiClass, FxFilterChipOption, FxListRequest, FxListResolverContext, FxSeverityBadge, FxStatCard,
|
|
1592
|
+
export { AuthInterceptor, AuthStateService, BaseComponent, BaseDialogComponent, BaseMasterDetailComponent, BaseResolver, BaseTableComponent, BreadcrumbService, ButtonComponent, CheckboxComponent, CircleProgressBar, ConfirmationDialogComponent, DatetimePicker, DndUploadComponent, DrawerComponent, EmptyStateComponent, FX_ICON_SPRITE_URL, FilterChipsComponent, FxComponent, FxDialogService, FxLoadingService, FxStorageService, FxToastrService, FxUtils, FxValidators, HasPermissionDirective, HeroIconComponent, HttpLoaderFactory, HttpWrapper, InfoFieldComponent, InputComponent, KanbanBoardComponent, LoadingPanel, MasterDetailComponent, MenuComponent, MeterComponent, NotificationService, PermissionGuard, PermissionService, RadioButtonComponent, RadioButtonToggleComponent, RealtimeTableSync, SearchBarComponent, SectionCardComponent, SelectComponent, SeverityBadgesComponent, SkeletonDetailComponent, SkeletonListComponent, SkeletonTableLoadingComponent, SliderComponent, StatCardsComponent, SwitchComponent, TabComponent, TabGroupComponent, TableCell, TagComponent, ThemeService, ToastComponent, ToastContainerComponent, TranslationModule, TranslationService, TreeDiagram, TrimOnBlurDirective, UiModule, countTone, createApi, fxListResolver, scoreTone, severityTone, toneBadge, toneBg, toneColor, toneText };
|
|
1593
|
+
export type { Breadcrumb, ColumnChangedEvent, ErrorMessages, FxApiClass, FxConfirmOptions, FxFilterChipOption, FxListRequest, FxListResolverContext, FxMenuItem, FxSeverityBadge, FxStatCard, FxTableFilters, IRadioButton, KanbanColumn, NotificationCallback, NotificationConnectOptions, RealtimeTableEvent, RealtimeTableSyncOptions, TableResult, TagType, ToastData, Tone, TreeNode, UploadResult };
|