@xiriframework/xiri-ng 0.2.44 → 0.2.46

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.
@@ -1,16 +1,19 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { PipeTransform, OnInit, OnDestroy, ChangeDetectorRef, TemplateRef, Type, Signal, WritableSignal, AfterViewInit, ElementRef, EnvironmentProviders } from '@angular/core';
3
+ import { UrlTree } from '@angular/router';
3
4
  import * as _angular_forms from '@angular/forms';
4
- import { FormControl, UntypedFormGroup, UntypedFormControl } from '@angular/forms';
5
+ import { ValidatorFn, FormControl, UntypedFormGroup, UntypedFormControl } from '@angular/forms';
5
6
  import * as rxjs from 'rxjs';
6
7
  import { Observable, Subject } from 'rxjs';
7
- import { MatTableDataSource, MatTable } from '@angular/material/table';
8
+ import * as _angular_material_paginator from '@angular/material/paginator';
8
9
  import { MatPaginator } from '@angular/material/paginator';
10
+ import { MatTableDataSource, MatTable } from '@angular/material/table';
9
11
  import { MatSort } from '@angular/material/sort';
10
12
  import { SelectionModel } from '@angular/cdk/collections';
11
13
  import { MatDialogRef } from '@angular/material/dialog';
12
14
  import { MatStepper } from '@angular/material/stepper';
13
15
  import { StepperSelectionEvent } from '@angular/cdk/stepper';
16
+ import { HttpResponse } from '@angular/common/http';
14
17
  import { Locale } from 'date-fns';
15
18
  import { MatSnackBarRef, TextOnlySnackBar } from '@angular/material/snack-bar';
16
19
 
@@ -25,17 +28,25 @@ declare class SafehtmlPipe implements PipeTransform {
25
28
  static ɵpipe: _angular_core.ɵɵPipeDeclaration<SafehtmlPipe, "safeHtml", true>;
26
29
  }
27
30
 
31
+ declare class XiriUrlPipe implements PipeTransform {
32
+ transform(url: string | null | undefined): UrlTree | null;
33
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriUrlPipe, never>;
34
+ static ɵpipe: _angular_core.ɵɵPipeDeclaration<XiriUrlPipe, "xiriUrl", true>;
35
+ }
36
+
28
37
  interface XiriFormValidator {
29
38
  id: string;
30
39
  name?: string;
31
- validator: any;
40
+ validator: ValidatorFn;
32
41
  message: string;
33
42
  }
34
43
  interface XiriFormFieldSelectOption {
35
- id: number;
44
+ id: number | string;
36
45
  name: string;
37
46
  disabled?: boolean;
38
47
  color?: XiriColor;
48
+ isGroup?: boolean;
49
+ children?: XiriFormFieldSelectOption[];
39
50
  }
40
51
  interface XiriTagChip {
41
52
  label: string;
@@ -45,7 +56,7 @@ type XiriFormFieldConditionOperator = 'equals' | 'notEquals' | 'contains' | 'gre
45
56
  interface XiriFormFieldCondition {
46
57
  field: string;
47
58
  operator: XiriFormFieldConditionOperator;
48
- value?: any;
59
+ value?: unknown;
49
60
  }
50
61
  interface XiriFormField {
51
62
  id: string;
@@ -60,10 +71,10 @@ interface XiriFormField {
60
71
  iconPrefix?: string;
61
72
  iconSuffix?: string;
62
73
  locale?: string;
63
- value?: any;
74
+ value?: unknown;
64
75
  validations?: XiriFormValidator[];
65
76
  list?: XiriFormFieldSelectOption[];
66
- texts?: object;
77
+ texts?: Record<string, string>;
67
78
  hide?: boolean;
68
79
  required?: boolean;
69
80
  disabled?: boolean;
@@ -76,17 +87,18 @@ interface XiriFormField {
76
87
  url?: string;
77
88
  search?: boolean;
78
89
  serverSideSearch?: boolean;
79
- params?: object;
90
+ params?: Record<string, unknown>;
80
91
  rows?: number;
81
92
  accept?: string;
82
93
  pwdhide?: boolean;
83
94
  icon?: string;
84
95
  iconColor?: XiriColor;
96
+ question?: string;
85
97
  done?: boolean;
86
98
  showWhen?: XiriFormFieldCondition | XiriFormFieldCondition[];
87
99
  control?: FormControl;
88
100
  placeholder?: string;
89
- array?: any[];
101
+ array?: (string | number)[];
90
102
  tree?: boolean;
91
103
  }
92
104
 
@@ -94,11 +106,11 @@ type XiriFormFieldDisplay = 'full' | 'line' | 'small';
94
106
  declare class XiriFormFieldsComponent implements OnInit {
95
107
  private formBuilder;
96
108
  private destroyRef;
97
- form: _angular_core.InputSignal<XiriFormField[]>;
109
+ form: _angular_core.InputSignal<XiriFormField[] | null>;
98
110
  display: _angular_core.InputSignal<XiriFormFieldDisplay>;
99
111
  disabled: _angular_core.InputSignal<boolean>;
100
- formChange: _angular_core.OutputEmitterRef<any>;
101
- check: _angular_core.InputSignal<Observable<void>>;
112
+ formChange: _angular_core.OutputEmitterRef<UntypedFormGroup>;
113
+ check: _angular_core.InputSignal<Observable<void> | null>;
102
114
  formGroup: UntypedFormGroup;
103
115
  private lastValue;
104
116
  private _fields;
@@ -107,7 +119,7 @@ declare class XiriFormFieldsComponent implements OnInit {
107
119
  private _initialEmitDone;
108
120
  constructor();
109
121
  ngOnInit(): void;
110
- fields: _angular_core.Signal<XiriFormField[]>;
122
+ fields: _angular_core.Signal<XiriFormField[] | null>;
111
123
  private createControl;
112
124
  private bindValidations;
113
125
  private validateAllFormFields;
@@ -120,11 +132,11 @@ declare class XiriFormFieldsComponent implements OnInit {
120
132
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriFormFieldsComponent, "xiri-form-fields", never, { "form": { "alias": "form"; "required": false; "isSignal": true; }; "display": { "alias": "display"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "check": { "alias": "check"; "required": false; "isSignal": true; }; }, { "formChange": "formChange"; }, never, never, true, never>;
121
133
  }
122
134
 
123
- type XiriSelectPredicate = <T>(filter: string, element: XiriFormFieldSelectOption) => boolean;
135
+ type XiriSelectPredicate = (filter: string, element: XiriFormFieldSelectOption) => boolean;
124
136
  declare const DEFAULT_PREDICATE: XiriSelectPredicate;
125
- type XiriSelectCompare = <T>(a: XiriFormFieldSelectOption, b: XiriFormFieldSelectOption) => boolean;
137
+ type XiriSelectCompare = (a: XiriFormFieldSelectOption, b: XiriFormFieldSelectOption) => boolean;
126
138
  declare const DEFAULT_COMPARE: XiriSelectCompare;
127
- declare class XiriSelectDirective<T> {
139
+ declare class XiriSelectDirective implements OnInit, OnDestroy {
128
140
  private dataService;
129
141
  private cdr;
130
142
  get formControl(): UntypedFormControl;
@@ -137,20 +149,20 @@ declare class XiriSelectDirective<T> {
137
149
  searching: boolean;
138
150
  /** Subject that emits when the component has been destroyed. */
139
151
  protected _onDestroy: Subject<void>;
140
- searchPredicate: _angular_core.InputSignal<XiriSelectPredicate>;
141
- compareWith: _angular_core.InputSignal<XiriSelectCompare>;
152
+ predicate: _angular_core.InputSignal<XiriSelectPredicate>;
153
+ compare: _angular_core.InputSignal<XiriSelectCompare>;
142
154
  serverSideSearch: _angular_core.InputSignal<boolean>;
143
155
  serverUrl: _angular_core.InputSignal<string>;
144
- serverParams: _angular_core.InputSignal<any>;
156
+ serverParams: _angular_core.InputSignal<Record<string, unknown>>;
145
157
  /** list of _allValues */
146
158
  private _allValues;
147
- allValues: _angular_core.InputSignal<XiriFormFieldSelectOption[]>;
159
+ values: _angular_core.InputSignal<XiriFormFieldSelectOption[]>;
148
160
  constructor();
149
161
  ngOnInit(): void;
150
162
  ngOnDestroy(): void;
151
163
  private applyFilter;
152
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriSelectDirective<any>, never>;
153
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<XiriSelectDirective<any>, "[xiriSelect]", ["xiriSelect"], { "searchPredicate": { "alias": "predicate"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compare"; "required": false; "isSignal": true; }; "serverSideSearch": { "alias": "serverSideSearch"; "required": false; "isSignal": true; }; "serverUrl": { "alias": "serverUrl"; "required": false; "isSignal": true; }; "serverParams": { "alias": "serverParams"; "required": false; "isSignal": true; }; "allValues": { "alias": "values"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
164
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriSelectDirective, never>;
165
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<XiriSelectDirective, "[xiriSelect]", ["xiriSelect"], { "predicate": { "alias": "predicate"; "required": false; "isSignal": true; }; "compare": { "alias": "compare"; "required": false; "isSignal": true; }; "serverSideSearch": { "alias": "serverSideSearch"; "required": false; "isSignal": true; }; "serverUrl": { "alias": "serverUrl"; "required": false; "isSignal": true; }; "serverParams": { "alias": "serverParams"; "required": false; "isSignal": true; }; "values": { "alias": "values"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
154
166
  }
155
167
 
156
168
  interface XiriButton {
@@ -171,32 +183,39 @@ interface XiriButton {
171
183
  inline?: boolean;
172
184
  disabled?: boolean;
173
185
  autoLoad?: boolean;
174
- data?: Record<string, any>;
186
+ data?: Record<string, unknown>;
175
187
  target?: string;
176
188
  loading?: boolean;
177
189
  filename?: string;
178
- check?: any;
179
- send?: any;
190
+ check?: string[];
191
+ send?: string[];
180
192
  menuItems?: {
181
193
  action: string;
182
194
  url?: string;
183
195
  icon?: string;
184
196
  color?: string;
185
197
  text?: string;
186
- data?: Record<string, any>;
198
+ data?: Record<string, unknown>;
187
199
  }[];
188
200
  }
189
201
  interface XiriButtonResult {
190
202
  button: XiriButton;
191
- result: any;
203
+ result: unknown;
192
204
  done: boolean;
193
205
  loading: boolean;
194
206
  }
207
+ interface XiriButtonResponse {
208
+ poll?: number;
209
+ pollUrl?: string;
210
+ text?: string;
211
+ button?: Partial<XiriButton>;
212
+ [key: string]: unknown;
213
+ }
195
214
  declare class XiriButtonComponent implements OnDestroy {
196
215
  button: _angular_core.InputSignal<XiriButton>;
197
216
  disabled: _angular_core.InputSignal<boolean>;
198
- filterData: _angular_core.InputSignal<any>;
199
- url: _angular_core.InputSignal<string>;
217
+ filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
218
+ url: _angular_core.InputSignal<string | undefined>;
200
219
  result: _angular_core.OutputEmitterRef<XiriButtonResult>;
201
220
  private dialogRef?;
202
221
  private destroyRef;
@@ -209,7 +228,7 @@ declare class XiriButtonComponent implements OnDestroy {
209
228
  nextAt: number;
210
229
  url: string;
211
230
  text?: string;
212
- }>;
231
+ } | null>;
213
232
  private _now;
214
233
  protected countdown: _angular_core.Signal<number>;
215
234
  protected pollText: _angular_core.Signal<string>;
@@ -221,12 +240,12 @@ declare class XiriButtonComponent implements OnDestroy {
221
240
  private downloadService;
222
241
  private responseHandler;
223
242
  _disabled: _angular_core.Signal<boolean>;
224
- _url: _angular_core.Signal<string>;
243
+ _url: _angular_core.Signal<string | undefined>;
225
244
  constructor();
226
245
  clicked(event: MouseEvent): void;
227
246
  private runAction;
228
247
  private actionDialog;
229
- openMenuDialog(event: MouseEvent, item: any): void;
248
+ openMenuDialog(event: MouseEvent, item: Record<string, unknown>): void;
230
249
  private actionApi;
231
250
  private processResult;
232
251
  private startPolling;
@@ -278,8 +297,10 @@ interface XiriTableField {
278
297
  editableSearchUrl?: string;
279
298
  }
280
299
 
300
+ /** A single table row: a map of column id → cell value (value shapes vary by column format). */
301
+ type XiriRawTableRow = Record<string, unknown>;
281
302
  interface XiriRawTableSettings {
282
- data: any;
303
+ data: unknown;
283
304
  fields?: XiriTableField[];
284
305
  dense?: number;
285
306
  forceMinWidth?: boolean;
@@ -288,9 +309,9 @@ interface XiriRawTableSettings {
288
309
  declare class XiriRawTableComponent {
289
310
  settings: _angular_core.InputSignal<XiriRawTableSettings>;
290
311
  showHeader: _angular_core.Signal<boolean>;
291
- displayedColumns: any[];
312
+ displayedColumns: XiriTableField[];
292
313
  columnsToDisplay: string[];
293
- dataSource: MatTableDataSource<any>;
314
+ dataSource: MatTableDataSource<XiriRawTableRow, _angular_material_paginator.MatPaginator>;
294
315
  tableClass: string;
295
316
  constructor();
296
317
  private loadFields;
@@ -298,74 +319,15 @@ declare class XiriRawTableComponent {
298
319
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriRawTableComponent, "xiri-raw-table", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
299
320
  }
300
321
 
301
- type EditableOption = {
302
- value: string;
303
- label: string;
304
- color?: string;
322
+ type XiriTableCellValue = string | number | boolean | null | undefined | XiriTagChip | XiriTableCellValue[] | {
323
+ [key: string]: XiriTableCellValue;
305
324
  };
306
- declare class XiriTableInlineEditService {
307
- private dataService;
308
- private snackbar;
309
- private injector;
310
- editingCell: _angular_core.WritableSignal<{
311
- row: any;
312
- field: string;
313
- }>;
314
- editingChipsValues: _angular_core.WritableSignal<string[]>;
315
- editableOptionsLoading: _angular_core.WritableSignal<boolean>;
316
- loadedEditableOptions: _angular_core.WritableSignal<EditableOption[]>;
317
- savingCell: _angular_core.WritableSignal<{
318
- row: any;
319
- field: string;
320
- }>;
321
- searchControl: FormControl<string>;
322
- searching: _angular_core.WritableSignal<boolean>;
323
- displayedOptions: _angular_core.WritableSignal<EditableOption[]>;
324
- private editingOriginalValue;
325
- private editableOptionsSub;
326
- private optionCache;
327
- private searchSub;
328
- private searchReqSub;
329
- private getEditUrl;
330
- private getDisplayedColumns;
331
- private abort$;
332
- private onSaved;
333
- private onDataUpdate;
334
- private onCallReturn;
335
- private get editUrl();
336
- private get displayedColumns();
337
- init(config: {
338
- getEditUrl: () => string;
339
- getDisplayedColumns: () => XiriTableField[];
340
- abort$: Subject<void>;
341
- onSaved: (row: any, fieldId: string) => void;
342
- onDataUpdate: () => void;
343
- onCallReturn: (result: any) => void;
344
- }): void;
345
- start(row: any, column: XiriTableField, skipSavingCheck?: boolean): void;
346
- /** Sets up the search box + subscription for searchable inline-edit selects. */
347
- private initSearch;
348
- /** Runs the search: server-side POST when editableSearchUrl is set, otherwise local label filter. */
349
- private runSearch;
350
- private teardownSearch;
351
- /** The unfiltered option list: static options on the column, or those loaded via editableOptionsUrl. */
352
- private baseOptions;
353
- cancel(): void;
354
- save(row: any, column: XiriTableField): void;
355
- isEditing(row: any, fieldId: string): boolean;
356
- isSaving(row: any, fieldId: string): boolean;
357
- onKeydown(event: KeyboardEvent, row: any, column: XiriTableField): void;
358
- focus(): void;
359
- getAdjacentEditableColumn(currentField: string, direction: 1 | -1): XiriTableField | null;
360
- flashSaved(row: any, fieldId: string, dataSource: any): void;
361
- getOptions(column: XiriTableField): EditableOption[];
362
- /** The currently selected value(s) of the editing cell. */
363
- private selectedValues;
364
- onChipsChange(row: any, column: XiriTableField, selectedValues: string[]): void;
365
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriTableInlineEditService, never>;
366
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriTableInlineEditService>;
325
+ interface XiriTableRow {
326
+ [key: string]: XiriTableCellValue | XiriTreeMeta | undefined;
327
+ id?: string | number;
328
+ select?: boolean;
329
+ _tree?: XiriTreeMeta;
367
330
  }
368
-
369
331
  /**
370
332
  * Opt-in tree-mode settings for xiri-table. When present on XiriTableSettings.tree, the
371
333
  * table renders rows hierarchically (indent + expand/collapse) based on each flat row's
@@ -378,10 +340,18 @@ interface XiriTableTreeSettings {
378
340
  collapseAllByDefault?: boolean;
379
341
  persistStateKey?: string;
380
342
  showCounts?: boolean;
381
- addSubHandler?: (parentRow: any) => void;
343
+ addSubHandler?: (parentRow: XiriTableRow) => void;
382
344
  addSubUrl?: string;
383
345
  addSubField?: string;
384
- addSubWhen?: (row: any) => boolean;
346
+ addSubWhen?: (row: XiriTableRow) => boolean;
347
+ }
348
+ /** Per-row tree metadata, attached as row._tree by flatten()/searchProjection(). */
349
+ interface XiriTreeMeta {
350
+ level: number;
351
+ hasChildren: boolean;
352
+ expanded: boolean;
353
+ childCount: number;
354
+ dimmed?: boolean;
385
355
  }
386
356
  declare class XiriTableTreeService {
387
357
  private localStorage;
@@ -400,26 +370,26 @@ declare class XiriTableTreeService {
400
370
  /** Initialises the service from the table's tree settings. treeColumn falls back to firstColumnId. */
401
371
  init(config: XiriTableTreeSettings, firstColumnId: string): void;
402
372
  /** Builds the tree from flat rows and initialises the expand-state. */
403
- build(rows: any[]): void;
373
+ build(rows: XiriTableRow[]): void;
404
374
  /** Returns the visible rows: search projection when searching, otherwise the expand-state flatten. */
405
- visibleRows(matches?: (row: any) => boolean): any[];
375
+ visibleRows(matches?: (row: XiriTableRow) => boolean): XiriTableRow[];
406
376
  /**
407
377
  * Applies (or clears) a search. On the empty→active transition the current expand-state is
408
378
  * snapshotted and the tree is fully expanded (so all matches are visible); during the search
409
379
  * the same `expanded` state drives expand/collapse, so the arrows work. On active→empty the
410
380
  * pre-search state is restored (Spec §5). Returns the new visible rows.
411
381
  */
412
- applySearch(matches: ((row: any) => boolean) | null): any[];
413
- toggle(row: any): void;
382
+ applySearch(matches: ((row: XiriTableRow) => boolean) | null): XiriTableRow[];
383
+ toggle(row: XiriTableRow): void;
414
384
  expandAll(): void;
415
385
  collapseAll(): void;
416
386
  /**
417
387
  * Whether the "+ sub" button should be shown for a given row. Opt-in: an addSubWhen predicate
418
388
  * or a truthy addSubField value gates it; without either, the button shows on every row.
419
389
  */
420
- canAddSub(row: any): boolean;
390
+ canAddSub(row: XiriTableRow): boolean;
421
391
  /** Resolves the "+ sub" target URL for a row, substituting the {id} placeholder. */
422
- addSubUrlFor(row: any): string | null;
392
+ addSubUrlFor(row: XiriTableRow): string | null;
423
393
  private storageKey;
424
394
  private loadPersisted;
425
395
  private persist;
@@ -427,6 +397,74 @@ declare class XiriTableTreeService {
427
397
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriTableTreeService>;
428
398
  }
429
399
 
400
+ interface EditableOption {
401
+ value: string;
402
+ label: string;
403
+ color?: string;
404
+ }
405
+ declare class XiriTableInlineEditService {
406
+ private dataService;
407
+ private snackbar;
408
+ private injector;
409
+ editingCell: _angular_core.WritableSignal<{
410
+ row: XiriTableRow;
411
+ field: string;
412
+ } | null>;
413
+ editingChipsValues: _angular_core.WritableSignal<string[]>;
414
+ editableOptionsLoading: _angular_core.WritableSignal<boolean>;
415
+ loadedEditableOptions: _angular_core.WritableSignal<EditableOption[]>;
416
+ savingCell: _angular_core.WritableSignal<{
417
+ row: XiriTableRow;
418
+ field: string;
419
+ } | null>;
420
+ searchControl: FormControl<string>;
421
+ searching: _angular_core.WritableSignal<boolean>;
422
+ displayedOptions: _angular_core.WritableSignal<EditableOption[]>;
423
+ private editingOriginalValue;
424
+ private editableOptionsSub;
425
+ private optionCache;
426
+ private searchSub;
427
+ private searchReqSub;
428
+ private getEditUrl;
429
+ private getDisplayedColumns;
430
+ private abort$;
431
+ private onSaved;
432
+ private onDataUpdate;
433
+ private onCallReturn;
434
+ private get editUrl();
435
+ private get displayedColumns();
436
+ init(config: {
437
+ getEditUrl: () => string;
438
+ getDisplayedColumns: () => XiriTableField[];
439
+ abort$: Subject<void>;
440
+ onSaved: (row: XiriTableRow, fieldId: string) => void;
441
+ onDataUpdate: () => void;
442
+ onCallReturn: (result: unknown) => void;
443
+ }): void;
444
+ start(row: XiriTableRow, column: XiriTableField, skipSavingCheck?: boolean): void;
445
+ /** Sets up the search box + subscription for searchable inline-edit selects. */
446
+ private initSearch;
447
+ /** Runs the search: server-side POST when editableSearchUrl is set, otherwise local label filter. */
448
+ private runSearch;
449
+ private teardownSearch;
450
+ /** The unfiltered option list: static options on the column, or those loaded via editableOptionsUrl. */
451
+ private baseOptions;
452
+ cancel(): void;
453
+ save(row: XiriTableRow, column: XiriTableField): void;
454
+ isEditing(row: XiriTableRow, fieldId: string): boolean;
455
+ isSaving(row: XiriTableRow, fieldId: string): boolean;
456
+ onKeydown(event: KeyboardEvent, row: XiriTableRow, column: XiriTableField): void;
457
+ focus(): void;
458
+ getAdjacentEditableColumn(currentField: string, direction: 1 | -1): XiriTableField | null;
459
+ flashSaved(row: XiriTableRow, fieldId: string, dataSource: MatTableDataSource<XiriTableRow>): void;
460
+ getOptions(column: XiriTableField): EditableOption[];
461
+ /** The currently selected value(s) of the editing cell. */
462
+ private selectedValues;
463
+ onChipsChange(row: XiriTableRow, column: XiriTableField, selectedValues: string[]): void;
464
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriTableInlineEditService, never>;
465
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriTableInlineEditService>;
466
+ }
467
+
430
468
  interface XiriButtonlineSettings {
431
469
  buttons: XiriButton[];
432
470
  class: string;
@@ -434,7 +472,7 @@ interface XiriButtonlineSettings {
434
472
  declare class XiriButtonlineComponent {
435
473
  settings: _angular_core.InputSignal<XiriButtonlineSettings>;
436
474
  disabled: _angular_core.InputSignal<boolean>;
437
- filterData: _angular_core.InputSignal<any>;
475
+ filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
438
476
  result: _angular_core.OutputEmitterRef<XiriButtonResult>;
439
477
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriButtonlineComponent, never>;
440
478
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriButtonlineComponent, "xiri-buttonline", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "filterData": { "alias": "filterData"; "required": false; "isSignal": true; }; }, { "result": "result"; }, never, never, true, never>;
@@ -444,12 +482,22 @@ type XiriDynDataType = 'card' | 'buttonline' | 'table' | 'cardlink' | 'links' |
444
482
  interface XiriDynData {
445
483
  id?: number;
446
484
  type: XiriDynDataType | (string & {});
447
- data?: any;
485
+ data?: unknown;
448
486
  display?: string;
449
487
  newRow?: boolean;
450
488
  mode?: string;
451
489
  }
452
490
 
491
+ interface XiriTableResponse {
492
+ data?: XiriTableRow[];
493
+ fields?: XiriTableField[];
494
+ summary?: XiriDynData[];
495
+ components?: XiriDynData[];
496
+ footer?: Record<string, XiriTableCellValue>;
497
+ totalCount?: number;
498
+ poll?: number;
499
+ [key: string]: unknown;
500
+ }
453
501
  interface XiriTableEmptyState {
454
502
  icon?: string;
455
503
  iconColor?: XiriColor;
@@ -486,7 +534,7 @@ interface XiriTableOptions {
486
534
  }
487
535
  interface XiriTableSettings {
488
536
  url?: string;
489
- data?: any;
537
+ data?: XiriTableRow[];
490
538
  fields?: XiriTableField[];
491
539
  options?: XiriTableOptions;
492
540
  hasFilter?: boolean;
@@ -506,25 +554,25 @@ declare class XiriTableComponent implements OnInit, OnDestroy {
506
554
  tree: XiriTableTreeService;
507
555
  protected _changeDetectorRef: ChangeDetectorRef;
508
556
  private destroyRef;
509
- dyncomponent: _angular_core.InputSignal<TemplateRef<any>>;
557
+ dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
510
558
  settings: _angular_core.InputSignal<XiriTableSettings>;
511
- filterData: _angular_core.InputSignal<any>;
512
- clickedRow: _angular_core.OutputEmitterRef<any>;
559
+ filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
560
+ clickedRow: _angular_core.OutputEmitterRef<XiriTableRow>;
513
561
  paginator: _angular_core.Signal<MatPaginator>;
514
562
  sort: _angular_core.Signal<MatSort>;
515
- table: _angular_core.Signal<MatTable<any>>;
563
+ table: _angular_core.Signal<MatTable<XiriTableRow>>;
516
564
  loading: _angular_core.WritableSignal<boolean>;
517
565
  private _totalCount;
518
566
  displayedColumns: XiriTableField[];
519
567
  columnsToDisplay: string[];
520
568
  columnsToSearch: string[];
521
- dataSource: MatTableDataSource<any>;
522
- protected _displayeddata: readonly any[];
523
- _alldata: _angular_core.WritableSignal<any[]>;
524
- footer: any[];
569
+ dataSource: MatTableDataSource<XiriTableRow, MatPaginator>;
570
+ protected _displayeddata: readonly XiriTableRow[];
571
+ _alldata: _angular_core.WritableSignal<XiriTableRow[] | null>;
572
+ footer: Record<string, XiriTableCellValue>;
525
573
  extraHeaderFields: XiriTableField[];
526
574
  extraHeaders: string[];
527
- selection: SelectionModel<any>;
575
+ selection: SelectionModel<XiriTableRow>;
528
576
  private dialogRef?;
529
577
  private reloadAbort$;
530
578
  private autoRefreshTimer?;
@@ -532,38 +580,34 @@ declare class XiriTableComponent implements OnInit, OnDestroy {
532
580
  autoRefresh: _angular_core.WritableSignal<{
533
581
  intervalMs: number;
534
582
  nextAt: number;
535
- }>;
583
+ } | null>;
536
584
  private _now;
537
585
  countdown: _angular_core.Signal<number>;
538
586
  options: XiriTableOptions;
539
587
  dynData: {
540
- data: XiriDynData[];
541
- filterData: any;
588
+ data: XiriDynData[] | null;
589
+ filterData: Record<string, unknown> | null | undefined;
542
590
  };
543
591
  errorMsg: string;
544
592
  private _firstData;
545
593
  searchText: string;
546
594
  searchTextInit: string;
547
595
  private tableStateKey;
548
- trackByRowId: (_: number, row: any) => any;
596
+ trackByRowId: (index: number, row: XiriTableRow) => string | number;
549
597
  get editingCell(): _angular_core.WritableSignal<{
550
- row: any;
598
+ row: XiriTableRow;
551
599
  field: string;
552
- }>;
600
+ } | null>;
553
601
  get editingChipsValues(): _angular_core.WritableSignal<string[]>;
554
602
  get editableOptionsLoading(): _angular_core.WritableSignal<boolean>;
555
- get loadedEditableOptions(): _angular_core.WritableSignal<{
556
- value: string;
557
- label: string;
558
- color?: string;
559
- }[]>;
603
+ get loadedEditableOptions(): _angular_core.WritableSignal<EditableOption[]>;
560
604
  get savingCell(): _angular_core.WritableSignal<{
561
- row: any;
605
+ row: XiriTableRow;
562
606
  field: string;
563
- }>;
607
+ } | null>;
564
608
  get inlineSearchControl(): _angular_forms.FormControl<string>;
565
609
  get inlineSearching(): _angular_core.WritableSignal<boolean>;
566
- _filterData: _angular_core.Signal<any>;
610
+ _filterData: _angular_core.Signal<Record<string, unknown> | null | undefined>;
567
611
  constructor();
568
612
  ngOnInit(): void;
569
613
  private loadData;
@@ -574,49 +618,49 @@ declare class XiriTableComponent implements OnInit, OnDestroy {
574
618
  private scheduleAutoRefresh;
575
619
  private cancelAutoRefreshTimers;
576
620
  private clearAutoRefresh;
577
- searchDo($event: any): void;
621
+ searchDo($event: string): void;
578
622
  get treeEnabled(): boolean;
579
623
  get treeColumnId(): string;
580
624
  get treeShowCounts(): boolean;
581
625
  get treeHasAddSub(): boolean;
582
- treeCanAddSub(row: any): boolean;
626
+ treeCanAddSub(row: XiriTableRow): boolean;
583
627
  /** Recomputes the visible rows from the tree (respecting the active search), into the data source. */
584
628
  private refreshTree;
585
629
  private rowMatches;
586
- toggleNode(event: MouseEvent, row: any): void;
630
+ toggleNode(event: MouseEvent, row: XiriTableRow): void;
587
631
  expandAllNodes(): void;
588
632
  collapseAllNodes(): void;
589
- addSub(event: MouseEvent, row: any): void;
633
+ addSub(event: MouseEvent, row: XiriTableRow): void;
590
634
  isAllSelected(): boolean;
591
635
  masterToggle(): void;
592
- clicked(row: any): void;
593
- openDialog(event: MouseEvent, button: any, id: any, subid: any, row: any): void;
594
- openMenuDialog(event: MouseEvent, item: any, columnId: string, buttonIndex: number, menuItemIndex: number, row: any): void;
636
+ clicked(row: XiriTableRow): void;
637
+ openDialog(event: MouseEvent, button: XiriButton, id: string, subid: number, row: XiriTableRow): void;
638
+ openMenuDialog(event: MouseEvent, item: NonNullable<XiriButton['menuItems']>[number], columnId: string, buttonIndex: number, menuItemIndex: number, row: XiriTableRow): void;
595
639
  openDialogSelection(event: MouseEvent, button: XiriButton): boolean;
596
640
  private startDialog;
597
641
  apiCall(event: MouseEvent, url: string): void;
598
642
  apiCallSelection(event: MouseEvent, button: XiriButton): void;
599
- saveCall(event: MouseEvent, button: XiriButton, row: any, url: string): void;
600
- saveCallCheck(button: XiriButton, row: any): boolean;
643
+ saveCall(event: MouseEvent, button: XiriButton, row: XiriTableRow, url: string): void;
644
+ saveCallCheck(button: XiriButton, row: XiriTableRow): boolean;
601
645
  downloadSelection(event: MouseEvent, button: XiriButton): void;
602
646
  private makeApiCall;
603
647
  buttonReturn(event: XiriButtonResult): void;
604
648
  private callReturn;
605
649
  private getSelectionIDs;
606
- startInlineEdit(row: any, column: XiriTableField, skipSavingCheck?: boolean): void;
650
+ startInlineEdit(row: XiriTableRow, column: XiriTableField, skipSavingCheck?: boolean): void;
607
651
  cancelInlineEdit(): void;
608
- saveInlineEdit(row: any, column: XiriTableField): void;
609
- isEditing(row: any, fieldId: string): boolean;
610
- isSaving(row: any, fieldId: string): boolean;
611
- onInlineEditKeydown(event: KeyboardEvent, row: any, column: XiriTableField): void;
652
+ saveInlineEdit(row: XiriTableRow, column: XiriTableField): void;
653
+ isEditing(row: XiriTableRow, fieldId: string): boolean;
654
+ isSaving(row: XiriTableRow, fieldId: string): boolean;
655
+ onInlineEditKeydown(event: KeyboardEvent, row: XiriTableRow, column: XiriTableField): void;
612
656
  getEditableOptions(column: XiriTableField): {
613
657
  value: string;
614
658
  label: string;
615
659
  color?: string;
616
660
  }[];
617
- onChipsSelectionChange(row: any, column: XiriTableField, selectedValues: string[]): void;
661
+ onChipsSelectionChange(row: XiriTableRow, column: XiriTableField, selectedValues: string[]): void;
618
662
  ngOnDestroy(): void;
619
- pasteInput($event: any, row: any, column: XiriTableField): boolean;
663
+ pasteInput($event: ClipboardEvent, row: XiriTableRow, column: XiriTableField): false | null;
620
664
  saveInputData(): void;
621
665
  private getSortingDataAccessor;
622
666
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriTableComponent, never>;
@@ -626,7 +670,7 @@ declare class XiriTableComponent implements OnInit, OnDestroy {
626
670
  interface XiriFormSettings {
627
671
  load?: boolean;
628
672
  url: string;
629
- fields?: any[];
673
+ fields?: XiriFormField[];
630
674
  buttons?: XiriButton[];
631
675
  header?: string;
632
676
  }
@@ -635,9 +679,9 @@ declare class XiriFormComponent implements OnInit {
635
679
  private location;
636
680
  private formService;
637
681
  private destroyRef;
638
- formFields: _angular_core.WritableSignal<XiriFormField[]>;
682
+ formFields: _angular_core.WritableSignal<XiriFormField[] | null>;
639
683
  loading: _angular_core.WritableSignal<boolean>;
640
- loadingButton: _angular_core.WritableSignal<XiriButton>;
684
+ loadingButton: _angular_core.WritableSignal<XiriButton | null>;
641
685
  done: _angular_core.WritableSignal<boolean>;
642
686
  error: _angular_core.WritableSignal<string>;
643
687
  private url;
@@ -651,7 +695,7 @@ declare class XiriFormComponent implements OnInit {
651
695
  private loadData;
652
696
  clickButton(button: XiriButton): void;
653
697
  private startSend;
654
- formChanged(event: any): void;
698
+ formChanged(event: UntypedFormGroup): void;
655
699
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriFormComponent, never>;
656
700
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriFormComponent, "xiri-form", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
657
701
  }
@@ -661,12 +705,28 @@ interface XiriDialogSettings {
661
705
  url?: string;
662
706
  size?: XiriDialogSize | string;
663
707
  type: "form" | "data" | "question" | "waiting" | "table" | "component";
664
- data?: any;
665
- filter?: any;
708
+ data?: unknown;
709
+ filter?: Record<string, unknown> | null;
710
+ }
711
+ interface XiriDialogResponse {
712
+ buttons?: XiriButton[];
713
+ size?: XiriDialogSize | string;
714
+ url?: string;
715
+ header?: string;
716
+ type?: string;
717
+ content?: unknown;
718
+ fields?: unknown;
719
+ model?: Record<string, unknown>;
720
+ extra?: Record<string, unknown>;
721
+ time?: number;
722
+ done?: boolean;
723
+ error?: string;
724
+ goto?: string;
725
+ [key: string]: unknown;
666
726
  }
667
727
  declare class XiriDialogComponent implements OnDestroy {
668
728
  dialogRef: MatDialogRef<XiriDialogComponent, any>;
669
- initData: any;
729
+ initData: XiriDialogSettings;
670
730
  private breakpointObserver;
671
731
  private dataService;
672
732
  private router;
@@ -678,9 +738,9 @@ declare class XiriDialogComponent implements OnDestroy {
678
738
  private extra;
679
739
  private destroyRef;
680
740
  private downloadService;
681
- formFields: _angular_core.WritableSignal<XiriFormField[]>;
682
- componentData: _angular_core.WritableSignal<any>;
683
- dynComponentType: _angular_core.WritableSignal<Type<unknown>>;
741
+ formFields: _angular_core.WritableSignal<XiriFormField[] | null>;
742
+ componentData: _angular_core.WritableSignal<unknown>;
743
+ dynComponentType: _angular_core.WritableSignal<Type<unknown> | null>;
684
744
  loading: _angular_core.WritableSignal<boolean>;
685
745
  done: _angular_core.WritableSignal<boolean>;
686
746
  error: _angular_core.WritableSignal<string>;
@@ -697,10 +757,13 @@ declare class XiriDialogComponent implements OnDestroy {
697
757
  private applyDialogSize;
698
758
  private loadData;
699
759
  private refresh;
700
- download(data: any): void;
760
+ download(data: unknown): void;
701
761
  clickButton(button: XiriButton): void;
702
762
  private startSend;
703
- formChanged(event: any): void;
763
+ formChanged(event: {
764
+ valid: boolean;
765
+ value: Record<string, unknown> | null;
766
+ }): void;
704
767
  ngOnDestroy(): void;
705
768
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriDialogComponent, never>;
706
769
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriDialogComponent, "xiri-dialog", never, {}, {}, never, never, true, never>;
@@ -708,50 +771,55 @@ declare class XiriDialogComponent implements OnDestroy {
708
771
 
709
772
  interface XiriQuerySettings {
710
773
  fields?: XiriFormField[];
711
- dyn?: any[];
774
+ dyn?: XiriDynData[];
712
775
  url?: string;
713
776
  buttonline?: XiriDynData;
714
- extra?: any;
777
+ extra?: Record<string, unknown>;
715
778
  saveState?: boolean;
716
779
  saveStateId?: string;
717
780
  collapsed?: boolean;
718
781
  }
782
+ interface XiriQueryFormChangeEvent {
783
+ valid: boolean;
784
+ value: Record<string, unknown> | null;
785
+ pristine?: boolean;
786
+ }
719
787
  declare class XiriQueryComponent implements OnInit {
720
788
  private dataService;
721
789
  private formService;
722
790
  private cdr;
723
791
  private destroyRef;
724
792
  settings: _angular_core.InputSignal<XiriQuerySettings>;
725
- dyncomponent: _angular_core.InputSignal<TemplateRef<any>>;
726
- change: _angular_core.OutputEmitterRef<any>;
793
+ dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
794
+ filterChange: _angular_core.OutputEmitterRef<Record<string, unknown> | null>;
727
795
  private waiter;
728
796
  dynData: {
729
- data: XiriDynData[];
730
- filterData: any;
797
+ data: XiriDynData[] | null;
798
+ filterData: Record<string, unknown> | null;
731
799
  };
732
800
  private saveState;
733
801
  private saveStateId;
734
802
  private extra;
735
803
  private _initialChangeDone;
736
804
  private get effectiveSaveKey();
737
- data: _angular_core.WritableSignal<XiriDynData[]>;
738
- error: _angular_core.WritableSignal<string>;
739
- formFields: _angular_core.WritableSignal<XiriFormField[]>;
805
+ data: _angular_core.WritableSignal<XiriDynData[] | null>;
806
+ error: _angular_core.WritableSignal<string | null>;
807
+ formFields: _angular_core.WritableSignal<XiriFormField[] | null>;
740
808
  formValid: _angular_core.WritableSignal<boolean>;
741
- filterData: _angular_core.WritableSignal<any>;
809
+ filterData: _angular_core.WritableSignal<Record<string, unknown> | null>;
742
810
  loading: _angular_core.WritableSignal<boolean>;
743
811
  ngOnInit(): void;
744
- formChanged(event: any): void;
812
+ formChanged(event: XiriQueryFormChangeEvent): void;
745
813
  clickedButton(event: XiriButtonResult): void;
746
814
  private load;
747
815
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriQueryComponent, never>;
748
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriQueryComponent, "xiri-query", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; "dyncomponent": { "alias": "dyncomponent"; "required": false; "isSignal": true; }; }, { "change": "change"; }, never, never, true, never>;
816
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriQueryComponent, "xiri-query", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; "dyncomponent": { "alias": "dyncomponent"; "required": false; "isSignal": true; }; }, { "filterChange": "filterChange"; }, never, never, true, never>;
749
817
  }
750
818
 
751
819
  interface XiriCardSettings {
752
820
  url?: string;
753
821
  reload?: boolean;
754
- data?: any;
822
+ data?: unknown;
755
823
  fields?: XiriTableField[];
756
824
  components?: XiriDynData[];
757
825
  header?: string;
@@ -770,20 +838,18 @@ interface XiriCardSettings {
770
838
  }
771
839
  declare class XiriCardComponent {
772
840
  private dataService;
773
- private destroyRef;
774
841
  settings: _angular_core.InputSignal<XiriCardSettings>;
775
- loading: _angular_core.WritableSignal<boolean>;
776
- errorMsg: _angular_core.WritableSignal<string>;
777
842
  isCollapsed: _angular_core.WritableSignal<boolean>;
778
- private _data;
779
- cardData: Signal<any>;
843
+ private cardResource;
844
+ loading: Signal<boolean>;
845
+ errorMsg: Signal<string>;
846
+ private _loaded;
847
+ cardData: Signal<unknown>;
780
848
  hasComponents: Signal<boolean>;
781
849
  /** Resolves padding setting (token or free CSS value) into a CSS length string. */
782
850
  componentsPadding: Signal<string>;
783
851
  rawTable: Signal<XiriRawTableSettings | null>;
784
- constructor();
785
852
  toggleCollapse(): void;
786
- private loadData;
787
853
  reload(): void;
788
854
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriCardComponent, never>;
789
855
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriCardComponent, "xiri-card", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -801,8 +867,8 @@ declare class XiriButtonstyleComponent {
801
867
 
802
868
  declare class XiriDynComponentComponent {
803
869
  data: _angular_core.InputSignal<XiriDynData[]>;
804
- filterData: _angular_core.InputSignal<any>;
805
- dyncomponent: _angular_core.InputSignal<TemplateRef<any>>;
870
+ filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
871
+ dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
806
872
  dataInt: _angular_core.Signal<XiriDynData[]>;
807
873
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriDynComponentComponent, never>;
808
874
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriDynComponentComponent, "xiri-dyncomponent", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "filterData": { "alias": "filterData"; "required": false; "isSignal": true; }; "dyncomponent": { "alias": "dyncomponent"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -874,10 +940,23 @@ interface XiriStepperStep {
874
940
  url?: string;
875
941
  title: string;
876
942
  fields: XiriFormField[];
877
- data?: any;
878
- extra?: any;
943
+ data?: Record<string, unknown>;
944
+ extra?: Record<string, unknown>;
879
945
  buttons: XiriButton[];
880
946
  }
947
+ interface XiriStepperFormChangeEvent {
948
+ valid: boolean;
949
+ value: Record<string, unknown> | null;
950
+ pristine?: boolean;
951
+ }
952
+ interface XiriStepperResponse {
953
+ step?: number;
954
+ fields?: XiriFormField[];
955
+ buttons?: XiriButton[];
956
+ url?: string;
957
+ goto?: string;
958
+ [key: string]: unknown;
959
+ }
881
960
  interface StepState {
882
961
  url?: string;
883
962
  title: string;
@@ -889,8 +968,8 @@ interface StepState {
889
968
  errorMsg: WritableSignal<string | null>;
890
969
  fields: WritableSignal<XiriFormField[]>;
891
970
  buttons: WritableSignal<XiriButton[]>;
892
- data?: any;
893
- extra?: any;
971
+ data?: Record<string, unknown>;
972
+ extra?: Record<string, unknown>;
894
973
  }
895
974
  declare class XiriStepperComponent implements OnInit {
896
975
  private dataService;
@@ -904,7 +983,7 @@ declare class XiriStepperComponent implements OnInit {
904
983
  steps: WritableSignal<StepState[]>;
905
984
  ngOnInit(): void;
906
985
  stepChanged($event: StepperSelectionEvent): void;
907
- formChanged(step: StepState, event: any, i: number): void;
986
+ formChanged(step: StepState, event: XiriStepperFormChangeEvent, i: number): void;
908
987
  clickButton(button: XiriButton): void;
909
988
  private checkStep;
910
989
  private showError;
@@ -1063,7 +1142,7 @@ interface XiriNavigationField {
1063
1142
  declare class XiriSidenavComponent {
1064
1143
  private router;
1065
1144
  private cdr;
1066
- settings: _angular_core.InputSignal<XiriSidebarSettings>;
1145
+ settings: _angular_core.InputSignal<XiriSidebarSettings | undefined>;
1067
1146
  loading: boolean;
1068
1147
  fields: XiriNavigationField[];
1069
1148
  private prefix;
@@ -1096,8 +1175,8 @@ interface XiriTabsSettings {
1096
1175
  }
1097
1176
  declare class XiriTabsComponent {
1098
1177
  settings: _angular_core.InputSignal<XiriTabsSettings>;
1099
- filterData: _angular_core.InputSignal<any>;
1100
- dyncomponent: _angular_core.InputSignal<TemplateRef<any>>;
1178
+ filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
1179
+ dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
1101
1180
  selectedIndex: _angular_core.WritableSignal<number>;
1102
1181
  visitedTabs: _angular_core.WritableSignal<Set<number>>;
1103
1182
  constructor();
@@ -1128,8 +1207,8 @@ interface XiriExpansionSettings {
1128
1207
  }
1129
1208
  declare class XiriExpansionComponent {
1130
1209
  settings: _angular_core.InputSignal<XiriExpansionSettings>;
1131
- filterData: _angular_core.InputSignal<any>;
1132
- dyncomponent: _angular_core.InputSignal<TemplateRef<any>>;
1210
+ filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
1211
+ dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
1133
1212
  openedPanels: _angular_core.WritableSignal<Set<number>>;
1134
1213
  visitedPanels: _angular_core.WritableSignal<Set<number>>;
1135
1214
  onPanelOpened(index: number): void;
@@ -1226,7 +1305,7 @@ interface XiriEchartsClick {
1226
1305
  seriesIndex: number;
1227
1306
  dataIndex: number;
1228
1307
  name: string;
1229
- value: any;
1308
+ value: unknown;
1230
1309
  }
1231
1310
  /**
1232
1311
  * `xiri-echarts-host` — shared echarts plumbing for all chart components.
@@ -1243,11 +1322,11 @@ interface XiriEchartsClick {
1243
1322
  * outer xiri-card without card-in-card visuals.
1244
1323
  */
1245
1324
  declare class XiriEchartsHostComponent implements AfterViewInit, OnDestroy {
1246
- option: _angular_core.InputSignal<any>;
1325
+ option: _angular_core.InputSignal<unknown>;
1247
1326
  compact: _angular_core.InputSignal<boolean>;
1248
- title: _angular_core.InputSignal<string>;
1249
- headerIcon: _angular_core.InputSignal<string>;
1250
- headerIconColor: _angular_core.InputSignal<XiriColor>;
1327
+ title: _angular_core.InputSignal<string | undefined>;
1328
+ headerIcon: _angular_core.InputSignal<string | undefined>;
1329
+ headerIconColor: _angular_core.InputSignal<XiriColor | undefined>;
1251
1330
  chartHeight: _angular_core.InputSignal<string>;
1252
1331
  itemClick: _angular_core.OutputEmitterRef<XiriEchartsClick>;
1253
1332
  chartHostRef: _angular_core.Signal<ElementRef<HTMLDivElement>>;
@@ -1257,7 +1336,7 @@ declare class XiriEchartsHostComponent implements AfterViewInit, OnDestroy {
1257
1336
  private echarts;
1258
1337
  private resizeObserver;
1259
1338
  private loadError;
1260
- readonly error: _angular_core.Signal<string>;
1339
+ readonly error: _angular_core.Signal<string | null>;
1261
1340
  readonly hasHeader: _angular_core.Signal<boolean>;
1262
1341
  constructor();
1263
1342
  ngAfterViewInit(): Promise<void>;
@@ -1268,6 +1347,40 @@ declare class XiriEchartsHostComponent implements AfterViewInit, OnDestroy {
1268
1347
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriEchartsHostComponent, "xiri-echarts-host", never, { "option": { "alias": "option"; "required": true; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "headerIcon": { "alias": "headerIcon"; "required": false; "isSignal": true; }; "headerIconColor": { "alias": "headerIconColor"; "required": false; "isSignal": true; }; "chartHeight": { "alias": "chartHeight"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
1269
1348
  }
1270
1349
 
1350
+ /**
1351
+ * Minimal structural types for the echarts callback params that the xiri chart
1352
+ * components read inside tooltip / label / renderItem formatters.
1353
+ *
1354
+ * echarts is an optional peer dependency and is loaded lazily, so we avoid a
1355
+ * static import of its (large) option/param types here and describe only the
1356
+ * fields the chart components actually access. The shapes intentionally mirror
1357
+ * echarts' `CallbackDataParams` / `CustomSeriesRenderItem*` surfaces.
1358
+ */
1359
+ /** Params object passed to a single-series tooltip / label formatter callback. */
1360
+ interface XiriEchartsCallbackParams {
1361
+ componentType?: string;
1362
+ seriesType?: string;
1363
+ seriesIndex?: number;
1364
+ seriesName?: string;
1365
+ dataIndex: number;
1366
+ name?: string;
1367
+ axisValueLabel?: string;
1368
+ marker?: string;
1369
+ percent?: number;
1370
+ value?: unknown;
1371
+ data?: {
1372
+ value?: unknown;
1373
+ };
1374
+ }
1375
+ /** Params for an 'axis'-trigger tooltip: either a single params object or an array of them. */
1376
+ type XiriEchartsTooltipParams = XiriEchartsCallbackParams | XiriEchartsCallbackParams[];
1377
+ /** The `api` object handed to a custom-series `renderItem` callback. */
1378
+ interface XiriEchartsRenderItemApi {
1379
+ value(dimension: number): number;
1380
+ coord(point: number[]): number[];
1381
+ size(dataSize: number[]): number[];
1382
+ }
1383
+
1271
1384
  type XiriBarChartMode = 'simple' | 'stacked' | 'heatmap';
1272
1385
  interface XiriBarChartSegment {
1273
1386
  value: number;
@@ -1316,7 +1429,7 @@ declare class XiriBarChartComponent {
1316
1429
  };
1317
1430
  tooltip: {
1318
1431
  trigger: string;
1319
- formatter: (params: any) => string;
1432
+ formatter: (params: XiriEchartsTooltipParams) => string;
1320
1433
  };
1321
1434
  xAxis: {
1322
1435
  type: string;
@@ -1330,19 +1443,19 @@ declare class XiriBarChartComponent {
1330
1443
  axisLabel: {
1331
1444
  rotate: number;
1332
1445
  interval: number;
1333
- };
1446
+ } | undefined;
1334
1447
  };
1335
1448
  yAxis: {
1336
1449
  type: string;
1337
- min: number;
1338
- max: number;
1450
+ min: number | undefined;
1451
+ max: number | undefined;
1339
1452
  splitLine: {
1340
1453
  lineStyle: {
1341
1454
  color: string;
1342
1455
  };
1343
1456
  };
1344
1457
  };
1345
- series: any[];
1458
+ series: unknown[];
1346
1459
  } | {
1347
1460
  grid: {
1348
1461
  left: number;
@@ -1353,7 +1466,7 @@ declare class XiriBarChartComponent {
1353
1466
  };
1354
1467
  tooltip: {
1355
1468
  trigger: string;
1356
- formatter: (params: any) => string;
1469
+ formatter: (params: XiriEchartsTooltipParams) => string;
1357
1470
  };
1358
1471
  xAxis: {
1359
1472
  type: string;
@@ -1370,7 +1483,7 @@ declare class XiriBarChartComponent {
1370
1483
  yAxis: {
1371
1484
  type: string;
1372
1485
  min: number;
1373
- max: number;
1486
+ max: number | undefined;
1374
1487
  show: boolean;
1375
1488
  };
1376
1489
  series: {
@@ -1427,13 +1540,13 @@ declare class XiriLineChartComponent {
1427
1540
  };
1428
1541
  tooltip: {
1429
1542
  trigger: string;
1430
- formatter: (params: any) => string;
1543
+ formatter: (params: XiriEchartsTooltipParams) => string;
1431
1544
  };
1432
1545
  legend: {
1433
1546
  top: number;
1434
1547
  right: number;
1435
1548
  type: string;
1436
- };
1549
+ } | undefined;
1437
1550
  xAxis: {
1438
1551
  type: string;
1439
1552
  data: string[];
@@ -1447,12 +1560,12 @@ declare class XiriLineChartComponent {
1447
1560
  axisLabel: {
1448
1561
  rotate: number;
1449
1562
  interval: number;
1450
- };
1563
+ } | undefined;
1451
1564
  };
1452
1565
  yAxis: {
1453
1566
  type: string;
1454
- min: number;
1455
- max: number;
1567
+ min: number | undefined;
1568
+ max: number | undefined;
1456
1569
  splitLine: {
1457
1570
  lineStyle: {
1458
1571
  color: string;
@@ -1476,7 +1589,7 @@ declare class XiriLineChartComponent {
1476
1589
  areaStyle: {
1477
1590
  color: string;
1478
1591
  opacity: number;
1479
- };
1592
+ } | undefined;
1480
1593
  data: number[];
1481
1594
  }[];
1482
1595
  }>;
@@ -1503,13 +1616,13 @@ declare class XiriPieChartComponent {
1503
1616
  option: _angular_core.Signal<{
1504
1617
  tooltip: {
1505
1618
  trigger: string;
1506
- formatter: (p: any) => string;
1619
+ formatter: (p: XiriEchartsCallbackParams) => string;
1507
1620
  };
1508
1621
  legend: {
1509
1622
  bottom: number;
1510
1623
  type: string;
1511
1624
  };
1512
- series: any[];
1625
+ series: Record<string, unknown>[];
1513
1626
  }>;
1514
1627
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriPieChartComponent, never>;
1515
1628
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<XiriPieChartComponent, "xiri-piechart", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -1623,7 +1736,7 @@ declare class XiriHeatmapComponent {
1623
1736
  };
1624
1737
  tooltip: {
1625
1738
  position: string;
1626
- formatter: (p: any) => string;
1739
+ formatter: (p: XiriEchartsCallbackParams) => string;
1627
1740
  };
1628
1741
  xAxis: {
1629
1742
  type: string;
@@ -1640,7 +1753,7 @@ declare class XiriHeatmapComponent {
1640
1753
  axisLabel: {
1641
1754
  rotate: number;
1642
1755
  interval: number;
1643
- };
1756
+ } | undefined;
1644
1757
  };
1645
1758
  yAxis: {
1646
1759
  type: string;
@@ -1672,7 +1785,7 @@ declare class XiriHeatmapComponent {
1672
1785
  data: number[][];
1673
1786
  label: {
1674
1787
  show: boolean;
1675
- formatter: (p: any) => string;
1788
+ formatter: (p: XiriEchartsCallbackParams) => string;
1676
1789
  };
1677
1790
  emphasis: {
1678
1791
  itemStyle: {
@@ -1707,7 +1820,7 @@ declare class XiriCalendarComponent {
1707
1820
  height: _angular_core.Signal<string>;
1708
1821
  option: _angular_core.Signal<{
1709
1822
  tooltip: {
1710
- formatter: (p: any) => string;
1823
+ formatter: (p: XiriEchartsCallbackParams) => string;
1711
1824
  };
1712
1825
  visualMap: {
1713
1826
  min: number;
@@ -1774,7 +1887,7 @@ declare class XiriTreeComponent {
1774
1887
  tooltip: {
1775
1888
  trigger: string;
1776
1889
  triggerOn: string;
1777
- formatter: (p: any) => string;
1890
+ formatter: (p: XiriEchartsCallbackParams) => string;
1778
1891
  };
1779
1892
  series: {
1780
1893
  type: string;
@@ -1887,7 +2000,7 @@ declare class XiriGanttComponent {
1887
2000
  height: _angular_core.Signal<string>;
1888
2001
  option: _angular_core.Signal<{
1889
2002
  tooltip: {
1890
- formatter: (p: any) => string;
2003
+ formatter: (p: XiriEchartsCallbackParams) => string;
1891
2004
  };
1892
2005
  grid: {
1893
2006
  left: number;
@@ -1898,8 +2011,8 @@ declare class XiriGanttComponent {
1898
2011
  };
1899
2012
  xAxis: {
1900
2013
  type: string;
1901
- min: number;
1902
- max: number;
2014
+ min: number | undefined;
2015
+ max: number | undefined;
1903
2016
  splitLine: {
1904
2017
  lineStyle: {
1905
2018
  color: string;
@@ -1927,18 +2040,18 @@ declare class XiriGanttComponent {
1927
2040
  y: number;
1928
2041
  };
1929
2042
  clip: boolean;
1930
- renderItem: (_params: any, api: any) => {
2043
+ renderItem: (_params: unknown, api: XiriEchartsRenderItemApi) => {
1931
2044
  type: string;
1932
2045
  transition: string[];
1933
2046
  shape: {
1934
- x: any;
2047
+ x: number;
1935
2048
  y: number;
1936
2049
  width: number;
1937
2050
  height: number;
1938
2051
  r: number;
1939
2052
  };
1940
2053
  style: {
1941
- fill: any;
2054
+ fill: number;
1942
2055
  };
1943
2056
  };
1944
2057
  data: (string | number)[][];
@@ -1960,6 +2073,11 @@ declare const COLOR_CSS_VAR: Record<string, string>;
1960
2073
  * usable in echarts options. Unknown tokens fall back to the given fallback.
1961
2074
  */
1962
2075
  declare function resolveColor(color: XiriColor | string | undefined, fallback?: string): string;
2076
+ /**
2077
+ * Default categorical palette used by charts (line/pie/sankey) to color series
2078
+ * when no explicit color is provided. Indexed via `FALLBACK_COLORS[i % length]`.
2079
+ */
2080
+ declare const FALLBACK_COLORS: string[];
1963
2081
 
1964
2082
  /** Escapes characters that would otherwise be interpreted as HTML in echarts tooltip strings. */
1965
2083
  declare function escapeHtml(s: string): string;
@@ -1987,11 +2105,10 @@ interface XiriSectionSettings {
1987
2105
  buttons?: XiriButtonlineSettings;
1988
2106
  components?: XiriDynData[];
1989
2107
  }
1990
- declare class XiriSectionComponent {
2108
+ declare class XiriSectionComponent implements OnInit {
1991
2109
  settings: _angular_core.InputSignal<XiriSectionSettings>;
1992
- dyncomponent: _angular_core.InputSignal<TemplateRef<any>>;
2110
+ dyncomponent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
1993
2111
  collapsed: _angular_core.WritableSignal<boolean>;
1994
- constructor();
1995
2112
  ngOnInit(): void;
1996
2113
  toggle(): void;
1997
2114
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriSectionComponent, never>;
@@ -2031,7 +2148,7 @@ interface XiriToolbarSettings {
2031
2148
  }
2032
2149
  declare class XiriToolbarComponent {
2033
2150
  settings: _angular_core.InputSignal<XiriToolbarSettings>;
2034
- filterData: _angular_core.InputSignal<any>;
2151
+ filterData: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
2035
2152
  searchChanged: _angular_core.OutputEmitterRef<string>;
2036
2153
  searchPlaceholder: _angular_core.Signal<string>;
2037
2154
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriToolbarComponent, never>;
@@ -2065,12 +2182,12 @@ declare class XiriDataService {
2065
2182
  private http;
2066
2183
  private config;
2067
2184
  private snackbar;
2068
- get(url: string): Observable<Object>;
2069
- post(url: string, data: any): Observable<any>;
2070
- postFile(url: string, data: any): Observable<any>;
2071
- postFileResponse(url: string, data: any): Observable<any>;
2185
+ get(url: string): Observable<object>;
2186
+ post(url: string, data: unknown): Observable<unknown>;
2187
+ postFile(url: string, data: unknown): Observable<Blob>;
2188
+ postFileResponse(url: string, data: unknown): Observable<HttpResponse<Blob>>;
2072
2189
  /** @deprecated Use postFileResponse() + XiriDownloadService.download() instead */
2073
- postDownload(url: string, data: any): void;
2190
+ postDownload(url: string, data: unknown): void;
2074
2191
  getConfigApi(): string;
2075
2192
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriDataService, never>;
2076
2193
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriDataService>;
@@ -2119,46 +2236,43 @@ declare class XiriFormService {
2119
2236
  private dataService;
2120
2237
  private router;
2121
2238
  private sessionStorageService;
2122
- get(url: string, data?: any, extra?: any): Observable<XiriFormServiceData>;
2239
+ get(url: string, data?: object | null, extra?: object): Observable<XiriFormServiceData>;
2123
2240
  parse(res: XiriFormServiceReturn): XiriFormServiceData;
2124
2241
  loadState(saveStateId: string | null | undefined, fields: XiriFormField[]): XiriFormField[];
2125
- saveState(saveStateId: string | null | undefined, values: any): void;
2242
+ saveState(saveStateId: string | null | undefined, values: unknown): void;
2126
2243
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriFormService, never>;
2127
2244
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriFormService>;
2128
2245
  }
2129
2246
 
2130
- declare class XiriLocalStorageService {
2131
- private readonly isSupported;
2247
+ /**
2248
+ * Shared implementation for the local- and session-storage services. Internal
2249
+ * (not part of the public API); the concrete XiriLocalStorageService and
2250
+ * XiriSessionStorageService differ only in which Storage backend they pass in.
2251
+ */
2252
+ declare abstract class XiriStorageServiceBase {
2253
+ private readonly storage?;
2132
2254
  private data;
2133
- constructor();
2255
+ protected constructor(storage?: Storage | undefined);
2134
2256
  clear(): void;
2135
- set(name: string, value: any): void;
2257
+ set(name: string, value: unknown): void;
2136
2258
  private getStruct;
2137
2259
  remove(name: string): void;
2138
- get(name: string): any;
2260
+ get(name: string): unknown;
2139
2261
  /**
2140
2262
  * @param name
2141
2263
  * @param maxTime in seconds
2142
2264
  */
2143
- getTimeout(name: string, maxTime: number): any;
2265
+ getTimeout(name: string, maxTime: number): unknown;
2266
+ }
2267
+
2268
+ declare class XiriLocalStorageService extends XiriStorageServiceBase {
2269
+ constructor();
2144
2270
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriLocalStorageService, never>;
2145
2271
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriLocalStorageService>;
2146
2272
  }
2147
2273
 
2148
- declare class XiriSessionStorageService {
2149
- private readonly isSupported;
2150
- private data;
2274
+ declare class XiriSessionStorageService extends XiriStorageServiceBase {
2151
2275
  constructor();
2152
- clear(): void;
2153
- set(name: string, value: any): void;
2154
- private getStruct;
2155
- remove(name: string): void;
2156
- get(name: string): any;
2157
- /**
2158
- * @param name
2159
- * @param maxTime in seconds
2160
- */
2161
- getTimeout(name: string, maxTime: number): any;
2162
2276
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriSessionStorageService, never>;
2163
2277
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriSessionStorageService>;
2164
2278
  }
@@ -2211,7 +2325,7 @@ declare class XiriSnackbarService {
2211
2325
  error(message: string, duration?: number, action?: string): MatSnackBarRef<TextOnlySnackBar>;
2212
2326
  info(message: string, duration?: number, action?: string): MatSnackBarRef<TextOnlySnackBar>;
2213
2327
  warning(message: string, duration?: number, action?: string): MatSnackBarRef<TextOnlySnackBar>;
2214
- handleResponse(response: any): boolean;
2328
+ handleResponse(response: unknown): boolean;
2215
2329
  private show;
2216
2330
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriSnackbarService, never>;
2217
2331
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriSnackbarService>;
@@ -2219,22 +2333,22 @@ declare class XiriSnackbarService {
2219
2333
 
2220
2334
  declare class XiriResponseHandlerService {
2221
2335
  private router;
2222
- handle(result: any, callbacks?: {
2336
+ handle(result: unknown, callbacks?: {
2223
2337
  onTableRefresh?: () => void;
2224
- onTableUpdate?: (id: any, field: string, content: any) => void;
2338
+ onTableUpdate?: (id: unknown, field: string, content: unknown) => void;
2225
2339
  }): void;
2226
2340
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriResponseHandlerService, never>;
2227
2341
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriResponseHandlerService>;
2228
2342
  }
2229
2343
 
2230
2344
  declare class XiriDownloadService {
2231
- download(result: any, filename: string, open: boolean): boolean;
2345
+ download(result: HttpResponse<Blob>, filename: string, open: boolean): boolean;
2232
2346
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XiriDownloadService, never>;
2233
2347
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<XiriDownloadService>;
2234
2348
  }
2235
2349
 
2236
2350
  declare function provideXiriServices(config: Partial<XiriDataServiceConfig>): EnvironmentProviders;
2237
2351
 
2238
- export { COLOR_CSS_VAR, DEFAULT_COMPARE, DEFAULT_PREDICATE, SafehtmlPipe, ThemeService, XiriAlertComponent, XiriBarChartComponent, XiriBreadcrumbComponent, XiriButtonComponent, XiriButtonlineComponent, XiriButtonstyleComponent, XiriCalendarComponent, XiriCardComponent, XiriCardlinkComponent, XiriDataService, XiriDataServiceConfig, XiriDateService, XiriDescriptionListComponent, XiriDialogComponent, XiriDividerComponent, XiriDoneComponent, XiriDownloadService, XiriDynComponentComponent, XiriEchartsHostComponent, XiriEmptyStateComponent, XiriErrorComponent, XiriExpansionComponent, XiriFormComponent, XiriFormFieldsComponent, XiriFormService, XiriGanttComponent, XiriGaugeChartComponent, XiriHeaderComponent, XiriHeatmapComponent, XiriImagetextComponent, XiriInfopointComponent, XiriLineChartComponent, XiriLinksComponent, XiriListComponent, XiriLocalStorageService, XiriMultiprogressComponent, XiriNumberService, XiriPageHeaderComponent, XiriPieChartComponent, XiriQueryComponent, XiriRawTableComponent, XiriResponseHandlerService, XiriSankeyComponent, XiriSearchComponent, XiriSectionComponent, XiriSelectDirective, XiriSessionStorageService, XiriSidenavComponent, XiriSkeletonComponent, XiriSnackbarService, XiriStatComponent, XiriStatGridComponent, XiriStepperComponent, XiriTableComponent, XiriTabsComponent, XiriTimelineComponent, XiriToolbarComponent, XiriTreeComponent, defaultXiriDataServiceConfig, escapeHtml, provideXiriServices, resolveColor };
2239
- export type { ThemeMode, XiriAlertConfig, XiriBarChartBar, XiriBarChartMode, XiriBarChartPoint, XiriBarChartSegment, XiriBarChartSettings, XiriBreadcrumbItem, XiriButton, XiriButtonResult, XiriButtonlineSettings, XiriCalendarCell, XiriCalendarSettings, XiriCardSettings, XiriCardlinkSettings, XiriColor, XiriDescriptionListItem, XiriDescriptionListSettings, XiriDialogSettings, XiriDialogSize, XiriDividerSettings, XiriDynData, XiriDynDataType, XiriEchartsClick, XiriEmptyStateSettings, XiriExpansionPanelSettings, XiriExpansionSettings, XiriExtendedColor, XiriFormField, XiriFormFieldCondition, XiriFormFieldConditionOperator, XiriFormFieldDisplay, XiriFormFieldSelectOption, XiriFormServiceData, XiriFormServiceError, XiriFormSettings, XiriFormValidator, XiriGanttSettings, XiriGanttTask, XiriGaugeChartSettings, XiriHeaderSettings, XiriHeatmapCell, XiriHeatmapSettings, XiriImagetextSettings, XiriInfopointSettings, XiriLineChartLine, XiriLineChartSettings, XiriLinksSettings, XiriListItem, XiriListSection, XiriListSettings, XiriMultiprogressItem, XiriMultiprogressSettings, XiriNavigationField, XiriPageHeaderSettings, XiriPieChartSettings, XiriPieChartSlice, XiriQuerySettings, XiriRawTableSettings, XiriSankeyLink, XiriSankeyNode, XiriSankeySettings, XiriSectionSettings, XiriSelectCompare, XiriSelectPredicate, XiriSidebarSettings, XiriSkeletonType, XiriSnackbarType, XiriStatGridSettings, XiriStatSettings, XiriStatTrend, XiriStepperSettings, XiriStepperStep, XiriTabSettings, XiriTableEmptyState, XiriTableField, XiriTableOptions, XiriTableSettings, XiriTableTreeSettings, XiriTabsSettings, XiriTagChip, XiriThemeColor, XiriTimelineItem, XiriTimelineSettings, XiriToolbarSearchConfig, XiriToolbarSettings, XiriTreeNode, XiriTreeSettings };
2352
+ export { COLOR_CSS_VAR, DEFAULT_COMPARE, DEFAULT_PREDICATE, FALLBACK_COLORS, SafehtmlPipe, ThemeService, XiriAlertComponent, XiriBarChartComponent, XiriBreadcrumbComponent, XiriButtonComponent, XiriButtonlineComponent, XiriButtonstyleComponent, XiriCalendarComponent, XiriCardComponent, XiriCardlinkComponent, XiriDataService, XiriDataServiceConfig, XiriDateService, XiriDescriptionListComponent, XiriDialogComponent, XiriDividerComponent, XiriDoneComponent, XiriDownloadService, XiriDynComponentComponent, XiriEchartsHostComponent, XiriEmptyStateComponent, XiriErrorComponent, XiriExpansionComponent, XiriFormComponent, XiriFormFieldsComponent, XiriFormService, XiriGanttComponent, XiriGaugeChartComponent, XiriHeaderComponent, XiriHeatmapComponent, XiriImagetextComponent, XiriInfopointComponent, XiriLineChartComponent, XiriLinksComponent, XiriListComponent, XiriLocalStorageService, XiriMultiprogressComponent, XiriNumberService, XiriPageHeaderComponent, XiriPieChartComponent, XiriQueryComponent, XiriRawTableComponent, XiriResponseHandlerService, XiriSankeyComponent, XiriSearchComponent, XiriSectionComponent, XiriSelectDirective, XiriSessionStorageService, XiriSidenavComponent, XiriSkeletonComponent, XiriSnackbarService, XiriStatComponent, XiriStatGridComponent, XiriStepperComponent, XiriTableComponent, XiriTabsComponent, XiriTimelineComponent, XiriToolbarComponent, XiriTreeComponent, XiriUrlPipe, defaultXiriDataServiceConfig, escapeHtml, provideXiriServices, resolveColor };
2353
+ export type { ThemeMode, XiriAlertConfig, XiriBarChartBar, XiriBarChartMode, XiriBarChartPoint, XiriBarChartSegment, XiriBarChartSettings, XiriBreadcrumbItem, XiriButton, XiriButtonResponse, XiriButtonResult, XiriButtonlineSettings, XiriCalendarCell, XiriCalendarSettings, XiriCardSettings, XiriCardlinkSettings, XiriColor, XiriDescriptionListItem, XiriDescriptionListSettings, XiriDialogResponse, XiriDialogSettings, XiriDialogSize, XiriDividerSettings, XiriDynData, XiriDynDataType, XiriEchartsCallbackParams, XiriEchartsClick, XiriEchartsRenderItemApi, XiriEchartsTooltipParams, XiriEmptyStateSettings, XiriExpansionPanelSettings, XiriExpansionSettings, XiriExtendedColor, XiriFormField, XiriFormFieldCondition, XiriFormFieldConditionOperator, XiriFormFieldDisplay, XiriFormFieldSelectOption, XiriFormServiceData, XiriFormServiceError, XiriFormServiceReturn, XiriFormSettings, XiriFormValidator, XiriGanttSettings, XiriGanttTask, XiriGaugeChartSettings, XiriHeaderSettings, XiriHeatmapCell, XiriHeatmapSettings, XiriImagetextSettings, XiriInfopointSettings, XiriLineChartLine, XiriLineChartSettings, XiriLinksSettings, XiriListItem, XiriListSection, XiriListSettings, XiriMultiprogressItem, XiriMultiprogressSettings, XiriNavigationField, XiriPageHeaderSettings, XiriPieChartSettings, XiriPieChartSlice, XiriQueryFormChangeEvent, XiriQuerySettings, XiriRawTableRow, XiriRawTableSettings, XiriSankeyLink, XiriSankeyNode, XiriSankeySettings, XiriSectionSettings, XiriSelectCompare, XiriSelectPredicate, XiriSidebarSettings, XiriSkeletonType, XiriSnackbarType, XiriStatGridSettings, XiriStatSettings, XiriStatTrend, XiriStepperFormChangeEvent, XiriStepperResponse, XiriStepperSettings, XiriStepperStep, XiriTabSettings, XiriTableCellValue, XiriTableEmptyState, XiriTableField, XiriTableOptions, XiriTableResponse, XiriTableRow, XiriTableSettings, XiriTableTreeSettings, XiriTabsSettings, XiriTagChip, XiriThemeColor, XiriTimelineItem, XiriTimelineSettings, XiriToolbarSearchConfig, XiriToolbarSettings, XiriTreeNode, XiriTreeSettings };
2240
2354
  //# sourceMappingURL=xiriframework-xiri-ng.d.ts.map