@openziti/ziti-console-lib 1.7.1 → 1.8.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/index.d.ts CHANGED
@@ -1,10 +1,12 @@
1
- import * as lottie_web from 'lottie-web';
2
1
  import * as i0 from '@angular/core';
3
- import { PipeTransform, Type, EventEmitter, InjectionToken, ViewContainerRef, ElementRef, OnInit, DoCheck, OnDestroy, AfterViewInit, AfterViewChecked, NgZone, ChangeDetectorRef, OnChanges, SimpleChanges, TemplateRef, Injector } from '@angular/core';
2
+ import { PipeTransform, EventEmitter, InjectionToken, ViewContainerRef, ElementRef, OnInit, DoCheck, OnDestroy, AfterViewInit, ChangeDetectorRef, OnChanges, SimpleChanges, TemplateRef, Injector } from '@angular/core';
4
3
  import * as _angular_platform_browser from '@angular/platform-browser';
5
4
  import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
6
5
  import * as rxjs from 'rxjs';
7
6
  import { BehaviorSubject, Subject, Subscription, Observable } from 'rxjs';
7
+ import * as i153 from '@openziti/ziti-console-lib/table-core';
8
+ import { ListColumn, FilterObj, DataTableFilterService, ListTableComponent } from '@openziti/ziti-console-lib/table-core';
9
+ export * from '@openziti/ziti-console-lib/table-core';
8
10
  import * as lodash from 'lodash';
9
11
  import lodash__default from 'lodash';
10
12
  import * as i3 from '@angular/forms';
@@ -15,36 +17,32 @@ import { NGXLogger } from 'ngx-logger';
15
17
  import { HttpBackend, HttpClient } from '@angular/common/http';
16
18
  import * as i2 from '@angular/common';
17
19
  import { Location } from '@angular/common';
18
- import * as i135 from '@angular/material/dialog';
20
+ import * as i139 from '@angular/material/dialog';
19
21
  import { MatDialog, MatDialogRef } from '@angular/material/dialog';
20
22
  import moment from 'moment/moment';
21
- import * as i147 from 'ag-grid-angular';
23
+ import * as i151 from 'ag-grid-angular';
22
24
  import { IHeaderAngularComp, ICellRendererAngularComp, ITooltipAngularComp } from 'ag-grid-angular';
23
25
  import { IHeaderParams, ICellRendererParams, ITooltipParams } from 'ag-grid-community';
24
- import * as i146 from '@angular/cdk/drag-drop';
25
- import { CdkDragDrop } from '@angular/cdk/drag-drop';
26
- import * as i150 from 'ang-jsoneditor';
27
- import { JsonEditorComponent } from 'ang-jsoneditor';
28
- import * as i138 from '@angular/material/datepicker';
26
+ import * as i142 from '@angular/material/datepicker';
29
27
  import { MatCalendar, MatDateRangePicker } from '@angular/material/datepicker';
30
- import * as i139 from '@angular/material/core';
28
+ import * as i143 from '@angular/material/core';
31
29
  import { DateAdapter } from '@angular/material/core';
32
- import * as i153 from 'ngx-lottie';
30
+ import * as i156 from 'ngx-lottie';
33
31
  import { AnimationOptions } from 'ngx-lottie';
34
- import * as i142 from '@angular/material/select';
32
+ import * as i146 from '@angular/material/select';
35
33
  import { MatSelect } from '@angular/material/select';
36
34
  import { OAuthService } from 'angular-oauth2-oidc';
37
35
  import moment$1 from 'moment';
38
36
  import * as i4 from '@angular/material/tooltip';
39
- import * as i136 from '@angular/material/radio';
40
- import * as i140 from '@angular/material/form-field';
41
- import * as i141 from '@angular/material/input';
42
- import * as i143 from '@angular/material/button';
43
- import * as i144 from '@angular/material/icon';
44
- import * as i145 from '@angular/cdk/overlay';
45
- import * as i148 from 'angularx-qrcode';
46
- import * as i149 from 'ng-click-outside';
47
- import * as i152 from '@angular/material/autocomplete';
37
+ import * as i140 from '@angular/material/radio';
38
+ import * as i144 from '@angular/material/form-field';
39
+ import * as i145 from '@angular/material/input';
40
+ import * as i147 from '@angular/material/button';
41
+ import * as i148 from '@angular/material/icon';
42
+ import * as i149 from '@angular/cdk/overlay';
43
+ import * as i150 from '@angular/cdk/drag-drop';
44
+ import * as i152 from 'angularx-qrcode';
45
+ import * as i155 from '@angular/material/autocomplete';
48
46
 
49
47
  declare class SafePipe implements PipeTransform {
50
48
  private sanitized;
@@ -54,134 +52,6 @@ declare class SafePipe implements PipeTransform {
54
52
  static ɵpipe: i0.ɵɵPipeDeclaration<SafePipe, "safe", false>;
55
53
  }
56
54
 
57
- type ListSortDir = 'asc' | 'desc' | undefined;
58
- /**
59
- * Context handed to component-cell input mappers.
60
- */
61
- interface ListCellContext<T = any> {
62
- row: T;
63
- value: any;
64
- colId: string;
65
- rowIndex: number;
66
- /** Emit a row action (flows to the table's `actionRequested` → the page handler). */
67
- emitAction: (action: string, item?: any) => void;
68
- }
69
- /**
70
- * Shim shape passed to legacy `cellHtml` / `valueFormatter` functions so the existing
71
- * ag-grid-era renderer bodies (which read `row.data`, `row.column.colId`, `row.value`)
72
- * keep working unchanged.
73
- */
74
- interface ListLegacyCellShim {
75
- data: any;
76
- value?: any;
77
- column: {
78
- colId: string;
79
- };
80
- rowIndex?: number;
81
- }
82
- /**
83
- * Declarative column definition for {@link ListTableComponent}. Replaces the ag-grid
84
- * `ColDef` shape used by the legacy `lib-data-table`. Rendering precedence for a cell is:
85
- * `cell` (a component) > `cellHtml` (sanitized markup) > `valueFormatter` (plain text) >
86
- * the raw value at `field`.
87
- */
88
- interface ListColumn<T = any> {
89
- /** Stable column id (was ag-grid `colId`). Used for persistence + tracking. */
90
- key: string;
91
- /** Dot-path used to read the raw value from a row. Defaults to `key`. */
92
- field?: string;
93
- /** Header label (was ag-grid `headerName`). */
94
- label: string;
95
- /** Component class rendered in each cell, hosted via NgComponentOutlet. */
96
- cell?: Type<any>;
97
- /** Maps a row to the `@Input()`s of the `cell` component. */
98
- cellInputs?: (ctx: ListCellContext<T>) => Record<string, unknown>;
99
- /** Returns sanitized HTML for the cell (legacy string renderers). */
100
- cellHtml?: (shim: ListLegacyCellShim) => string;
101
- /** Returns plain text for the cell. */
102
- valueFormatter?: (shim: ListLegacyCellShim) => string;
103
- /** Initial width in px. Omit to let the column flex to fill available space. */
104
- width?: number;
105
- minWidth?: number;
106
- /** Defaults to true. */
107
- resizable?: boolean;
108
- /** Extra class(es) applied to every cell in the column. */
109
- cellClass?: string;
110
- sortable?: boolean;
111
- /** Convenience flag mirrored from legacy `headerComponentParams.enableSorting`. */
112
- enableSorting?: boolean;
113
- sortDir?: ListSortDir;
114
- /** Called on header sort click with the resolved direction (was `sortColumn`). */
115
- onSort?: (colId: string, dir: ListSortDir) => void;
116
- /** Called on cell click (was ag-grid `onCellClicked`). */
117
- onCellClick?: (ctx: ListCellContext<T>) => void;
118
- filterType?: 'TEXTINPUT' | 'SELECT' | 'COMBO' | 'DATETIME' | 'ATTRIBUTE' | 'MULTISELECT' | 'CUSTOM' | string;
119
- /** API field the filter queries. Defaults to `field` then `key`. Use when the
120
- * display field differs from the filterable field (e.g. key `os` → `envInfo.os`,
121
- * key `type` (display `type.name`) → `typeId`). */
122
- filterField?: string;
123
- /** Placeholder shown in the filter-row control when nothing is selected. */
124
- filterPlaceholder?: string;
125
- filterOptions?: any[];
126
- getFilterOptions?: () => any[];
127
- /** Extra params for the filter controls (attribute getters, combo options, etc.). */
128
- headerParams?: Record<string, any>;
129
- /** Component class rendered as a hover tooltip. */
130
- tooltip?: Type<any>;
131
- tooltipInputs?: (ctx: ListCellContext<T>) => Record<string, unknown>;
132
- /** Defaults to true. When false the column cannot be hidden. */
133
- hideable?: boolean;
134
- /** Leave the column out of the Columns menu (it still renders in the table). */
135
- excludeFromChooser?: boolean;
136
- /** In tree mode, the column that holds the expand/collapse control and per-level
137
- * indentation. When no column sets this, the first visible column is used. */
138
- treeColumn?: boolean;
139
- /** Defaults to true. When false the column cannot be drag-reordered. */
140
- reorderable?: boolean;
141
- /** Initial visibility (was ag-grid `hide`). */
142
- hidden?: boolean;
143
- }
144
- /**
145
- * Optional base interface for component cells hosted by {@link ListTableComponent}.
146
- * The table sets whatever `@Input()`s a column's `cellInputs` returns; implementing this
147
- * is not required but documents the common ones.
148
- */
149
- interface ListCell<T = any> {
150
- row?: T;
151
- value?: any;
152
- }
153
- /** Nested-row layout: 'card' floats each level as a bordered card, 'flat' renders inline. */
154
- type TreeVariant = 'card' | 'flat';
155
- /** Per-control toolbar config. A control shows and is interactive by default; set
156
- * `show: false` to remove it, or `disabled: true` to keep it visible but greyed out. */
157
- interface ToolbarControlOptions {
158
- show?: boolean;
159
- disabled?: boolean;
160
- }
161
- /** Show/hide and enable/disable each control around the table: the bar above it
162
- * (search, filters, refresh, auto-refresh, columns) and the footer below it
163
- * (rows-per-page, pagination). */
164
- interface ListTableToolbarOptions {
165
- search?: ToolbarControlOptions;
166
- filters?: ToolbarControlOptions;
167
- refresh?: ToolbarControlOptions;
168
- autoRefresh?: ToolbarControlOptions;
169
- columns?: ToolbarControlOptions;
170
- pageSize?: ToolbarControlOptions;
171
- pagination?: ToolbarControlOptions;
172
- }
173
- /** Structural options for {@link ListTableComponent}. */
174
- interface ListTableOptions {
175
- noSelect?: boolean;
176
- noMenu?: boolean;
177
- pager?: 'pages' | 'cursor';
178
- tree?: boolean;
179
- /** Tree mode: render checkboxes on nested rows and include them in the selection. */
180
- selectChildren?: boolean;
181
- fitColumns?: boolean;
182
- toolbar?: ListTableToolbarOptions;
183
- }
184
-
185
55
  declare const SHAREDZ_EXTENSION: InjectionToken<any>;
186
56
  type ExtensionEventType = 'formDataUpdated' | 'attributesChanged' | 'service-attributes-changed' | 'identity-attributes-changed' | 'policy-type-changed' | 'policy-semantic-changed' | 'tableDataUpdated' | string;
187
57
  interface ExtensionEvent<TData = any, TResult = any> {
@@ -596,45 +466,6 @@ declare class GrowlerService {
596
466
  static ɵprov: i0.ɵɵInjectableDeclaration<GrowlerService>;
597
467
  }
598
468
 
599
- type FilterObj = {
600
- filterName: string;
601
- columnId: string;
602
- value: any;
603
- label: string;
604
- type?: string;
605
- hidden?: boolean;
606
- verb?: string;
607
- };
608
- declare class DataTableFilterService {
609
- private location;
610
- private router;
611
- private activatedRoute;
612
- filters: FilterObj[];
613
- currentPage: number;
614
- /** Rows requested per page. Defaults to the legacy page size; the list-table's
615
- * rows-per-page control changes it via {@link changePageSize}. */
616
- pageSize: number;
617
- filtersChanged: BehaviorSubject<FilterObj[]>;
618
- filtering: BehaviorSubject<boolean>;
619
- pageChanged: BehaviorSubject<any>;
620
- pageSizeChanged: BehaviorSubject<number>;
621
- currentQueryParams: any[];
622
- private static readonly URL_FILTER_PREFIX;
623
- constructor(location: Location, router: Router, activatedRoute: ActivatedRoute);
624
- updateFilter(filterObj: FilterObj): void;
625
- removeFilter(filterObj: FilterObj): void;
626
- getFilterString(key: string): string;
627
- changePage(page: any): void;
628
- changePageSize(size: number): void;
629
- clearFilters(): void;
630
- storeFilters(): void;
631
- getStoredFilters(): any;
632
- updateUrlParameters(filtersToRemove?: any[]): void;
633
- getUrlFiltersMap(): any;
634
- static ɵfac: i0.ɵɵFactoryDeclaration<DataTableFilterService, never>;
635
- static ɵprov: i0.ɵɵInjectableDeclaration<DataTableFilterService>;
636
- }
637
-
638
469
  declare abstract class SettingsServiceClass {
639
470
  protected httpBackend: HttpBackend;
640
471
  protected growlerService: GrowlerService;
@@ -1294,6 +1125,12 @@ declare class ConfigurationsPageService extends ListPageServiceClass {
1294
1125
  menuItems: {
1295
1126
  name: string;
1296
1127
  action: string;
1128
+ icon: string;
1129
+ }[];
1130
+ tableHeaderActions: {
1131
+ name: string;
1132
+ action: string;
1133
+ icon: string;
1297
1134
  }[];
1298
1135
  constructor(schemaSvc: SchemaService, settings: SettingsService, filterService: DataTableFilterService, csvDownloadService: CsvDownloadService, extService: ExtensionService, router: Router);
1299
1136
  initTableColumns(): any;
@@ -1345,7 +1182,8 @@ declare class ConfigurationsPageService extends ListPageServiceClass {
1345
1182
  value: string;
1346
1183
  }[];
1347
1184
  }>;
1348
- getData(filters?: FilterObj[], sort?: any): Promise<any>;
1185
+ initListTableColumns(): ListColumn[];
1186
+ getData(filters?: FilterObj[], sort?: any, page?: any, pageSize?: number): Promise<any>;
1349
1187
  validate: (formData: any, schema: any) => Promise<CallbackResults>;
1350
1188
  validateProperty(key: any, property: any, formData: any, schema: any, parentKey?: any): any;
1351
1189
  private processData;
@@ -1372,516 +1210,6 @@ declare class TabNameService {
1372
1210
  static ɵprov: i0.ɵɵInjectableDeclaration<TabNameService>;
1373
1211
  }
1374
1212
 
1375
- /**
1376
- * Per-instance state + localStorage persistence for {@link ListTableComponent}.
1377
- * Uses its own `lt_<tableId>_*` keys (separate from the legacy ag-grid table) so a
1378
- * first visit starts from the column defs' default widths, not a carried-over ag layout.
1379
- */
1380
- declare class ListTableService {
1381
- tableId: string;
1382
- /** Coordinates the toolbar dropdowns so only one (filter pill or column chooser)
1383
- * is open at a time. Openers emit themselves; others close when they see an
1384
- * owner that isn't them. */
1385
- private readonly menuOpenedSubject;
1386
- readonly menuOpened$: rxjs.Observable<unknown>;
1387
- notifyMenuOpened(owner: unknown): void;
1388
- private stateKey;
1389
- private widthsKey;
1390
- private pageSizeKey;
1391
- private treeVariantKey;
1392
- /** Returns the saved tree layout ('card' | 'flat'), or `fallback` if none. */
1393
- restoreTreeVariant(fallback: TreeVariant): TreeVariant;
1394
- saveTreeVariant(variant: TreeVariant): void;
1395
- private static pageSizeKeyFor;
1396
- restorePageSize(fallback: number): number;
1397
- savePageSize(size: number): void;
1398
- /** Reads a table's remembered rows-per-page without an instance (for host pre-seeding). */
1399
- static readPersistedPageSize(tableId: string, fallback: number): number;
1400
- /**
1401
- * Returns a shallow-cloned copy of `columns` with any persisted width, visibility,
1402
- * and order applied. Columns not present in the saved state keep their declared
1403
- * position (appended after the saved ones).
1404
- */
1405
- /** Parses a stored JSON value, or null when missing/unavailable/malformed. */
1406
- private readJson;
1407
- /** Applies a widths map then a persisted order/visibility list onto a fresh copy of
1408
- * `columns`. Shared by the top-level and per-depth restore paths. */
1409
- private mergePersistedColumns;
1410
- /** Order + visibility + width entries for one set of columns. */
1411
- private columnStateEntries;
1412
- applyPersistedState(columns: ListColumn[]): ListColumn[];
1413
- /** Persists the current order + visibility (and widths embedded in each entry). */
1414
- saveState(columns: ListColumn[]): void;
1415
- private childStateKey;
1416
- private childWidthsKey;
1417
- /** Applies persisted order/visibility/width for one nested depth to its columns. */
1418
- applyPersistedChildState(level: number, columns: ListColumn[]): ListColumn[];
1419
- saveChildState(level: number, columns: ListColumn[]): void;
1420
- saveChildWidth(level: number, colId: string, width: number, columns: ListColumn[]): void;
1421
- /** Persists a single column's width, then rewrites the ordered state. */
1422
- saveWidth(colId: string, width: number, columns: ListColumn[]): void;
1423
- /** Clears all persisted layout for this table ("Restore Default Table"). */
1424
- reset(): void;
1425
- static ɵfac: i0.ɵɵFactoryDeclaration<ListTableService, never>;
1426
- static ɵprov: i0.ɵɵInjectableDeclaration<ListTableService>;
1427
- }
1428
-
1429
- /**
1430
- * A single row in a {@link ListMenuComponent}.
1431
- *
1432
- * `action` is the identifier the host dispatches on; `data` carries the original
1433
- * domain object (menu item / header action / filter option) so the host can act
1434
- * on it without the menu needing to know its shape.
1435
- */
1436
- interface ListMenuItem {
1437
- /** Visible text. */
1438
- label: string;
1439
- /** Identifier emitted back to the host on click. */
1440
- action: string;
1441
- /** Optional icon class(es) rendered before the label. */
1442
- icon?: string;
1443
- /** Optional sanitized SVG rendered before the label (takes precedence over `icon`). */
1444
- iconSvg?: SafeHtml;
1445
- /** When true the row is present but visually removed (keeps list order stable). */
1446
- hidden?: boolean;
1447
- /** When true the row is shown but not clickable. */
1448
- disabled?: boolean;
1449
- /** Optional element id (preserves existing automation hooks). */
1450
- id?: string;
1451
- /** Original domain object this row was built from. */
1452
- data?: any;
1453
- }
1454
- /**
1455
- * Generic, theme-driven action menu popover. Presentational only: the host owns
1456
- * open state and position and handles `(itemClick)` / `(closed)`.
1457
- */
1458
- declare class ListMenuComponent {
1459
- /** Whether the menu is rendered. */
1460
- open: boolean;
1461
- /** Rows to render. */
1462
- items: ListMenuItem[];
1463
- /** Fixed-position left offset (px). */
1464
- left: number;
1465
- /** Fixed-position top offset (px). */
1466
- top: number;
1467
- /** Optional id for the menu container (automation hook). */
1468
- menuId?: string;
1469
- /** Emitted when a clickable row is selected. */
1470
- itemClick: EventEmitter<{
1471
- item: ListMenuItem;
1472
- event: MouseEvent;
1473
- }>;
1474
- /** Emitted when the user clicks outside the open menu. */
1475
- closed: EventEmitter<Event>;
1476
- onItem(item: ListMenuItem, event: MouseEvent): void;
1477
- onClickOutside(event: Event): void;
1478
- trackItem: (_: number, item: ListMenuItem) => string;
1479
- static ɵfac: i0.ɵɵFactoryDeclaration<ListMenuComponent, never>;
1480
- static ɵcmp: i0.ɵɵComponentDeclaration<ListMenuComponent, "lib-list-menu", never, { "open": { "alias": "open"; "required": false; }; "items": { "alias": "items"; "required": false; }; "left": { "alias": "left"; "required": false; }; "top": { "alias": "top"; "required": false; }; "menuId": { "alias": "menuId"; "required": false; }; }, { "itemClick": "itemClick"; "closed": "closed"; }, never, never, false, never>;
1481
- }
1482
-
1483
- /**
1484
- * Custom, token-skinnable list table. Columns are declared with {@link ListColumn};
1485
- * sort, filter, and pagination flow through {@link DataTableFilterService}.
1486
- */
1487
- declare class ListTableComponent implements OnInit, AfterViewInit, AfterViewChecked, OnDestroy {
1488
- svc: ListTableService;
1489
- private tableFilterService;
1490
- private el;
1491
- private ngZone;
1492
- private sanitizer;
1493
- set tableId(id: string);
1494
- get tableId(): string;
1495
- private _tableId;
1496
- set columns(value: ListColumn[]);
1497
- set rowData(value: any[]);
1498
- get rowData(): any[];
1499
- private _rowData;
1500
- isLoading: boolean;
1501
- set options(value: ListTableOptions);
1502
- get options(): ListTableOptions;
1503
- private _options;
1504
- /** Resolved show/disabled state for each toolbar control, read by the template.
1505
- * Every control shows and is enabled unless the host's `options.toolbar` says otherwise. */
1506
- toolbarControls: {
1507
- search: {
1508
- show: boolean;
1509
- disabled: boolean;
1510
- };
1511
- filters: {
1512
- show: boolean;
1513
- disabled: boolean;
1514
- };
1515
- refresh: {
1516
- show: boolean;
1517
- disabled: boolean;
1518
- };
1519
- autoRefresh: {
1520
- show: boolean;
1521
- disabled: boolean;
1522
- };
1523
- columns: {
1524
- show: boolean;
1525
- disabled: boolean;
1526
- };
1527
- pageSize: {
1528
- show: boolean;
1529
- disabled: boolean;
1530
- };
1531
- pagination: {
1532
- show: boolean;
1533
- disabled: boolean;
1534
- };
1535
- };
1536
- private normalizeToolbar;
1537
- /** Tree mode: fetch a row's children the first time it is expanded. Return the
1538
- * child rows (any shape the columns render). A row with `leaf: true`, or one that
1539
- * resolves to an empty array, shows no expand control.
1540
- * Note: tree runtime state (`children`, `leaf`, `__tree*`) is written onto the row
1541
- * objects, so a host that reuses a row in a save call should strip it first. */
1542
- loadChildren?: (row: any) => Promise<any[]> | any[];
1543
- /** Tree mode: columns per depth level (index = level; level 0 uses `columns`).
1544
- * Nested rows render in their own grid with a per-level sub-header, so children
1545
- * need not match the parent. Unset renders children with the parent's columns.
1546
- * The bound value is the default; users can show/hide/reorder/resize child columns
1547
- * per depth from the Columns menu, persisted per table. */
1548
- set childColumnsByLevel(v: ListColumn[][] | undefined);
1549
- get childColumnsByLevel(): ListColumn[][] | undefined;
1550
- private _declaredChildColumnsByLevel?;
1551
- private _childColumnsByLevel?;
1552
- private _childLevelCache;
1553
- private _childColsVersion;
1554
- private _childLevelCacheVersion;
1555
- private _treeKeyCache;
1556
- private _leadOffsetCache;
1557
- private _treeMemoVersion;
1558
- private invalidateColumnCache;
1559
- private syncTreeMemo;
1560
- /** Rebuilds the effective per-level child columns from the declared defaults with
1561
- * any persisted order/visibility/width applied. */
1562
- private buildChildColumns;
1563
- nodeToggled: EventEmitter<{
1564
- row: any;
1565
- expanded: boolean;
1566
- }>;
1567
- hasNext: boolean;
1568
- hasPrev: boolean;
1569
- startCount: any;
1570
- endCount: any;
1571
- totalCount: any;
1572
- filterApplied: boolean;
1573
- menuItems: any[];
1574
- headerActions: any[];
1575
- noItemsImage: string;
1576
- showNoItemsAdd: boolean;
1577
- noItemsReadonly: boolean;
1578
- accessDenied: boolean;
1579
- entityTypeName: string;
1580
- filterName: string;
1581
- filterColumn: string;
1582
- actionRequested: EventEmitter<{
1583
- action: string;
1584
- item?: any;
1585
- }>;
1586
- tableReady: EventEmitter<any>;
1587
- /** Full set of selected rows (all depths) whenever the selection changes. */
1588
- selectionChanged: EventEmitter<any[]>;
1589
- /** The row the pointer is over, or null when it leaves. Emitted once per row (at the
1590
- * row level, not per cell) so consumers can react to the whole hovered row, for
1591
- * example to highlight that row's path in a connected diagram. */
1592
- rowHover: EventEmitter<any>;
1593
- contextMenu?: ElementRef;
1594
- filterZone?: ElementRef<HTMLElement>;
1595
- filtersRow?: ElementRef<HTMLElement>;
1596
- /** Full column list (includes hidden), after persisted state. */
1597
- allColumns: ListColumn[];
1598
- /** Currently rendered columns (visible + ordered). */
1599
- visibleColumns: ListColumn[];
1600
- /** Hidden columns, shaped for the shared hidden-columns bar (`headerName`). */
1601
- hiddenColumns: any[];
1602
- entityTypeLabel: string;
1603
- openMenu: boolean;
1604
- openHeaderMenu: boolean;
1605
- menuLeft: number;
1606
- menuTop: number;
1607
- selectedItem: any;
1608
- allToggled: boolean;
1609
- /** Rows actually rendered: in tree mode this is the roots plus the expanded
1610
- * descendants in order; otherwise it is `rowData` unchanged. */
1611
- flatRows: any[];
1612
- /** Tree look: 'card' floats each nested level as a bordered card; 'flat' renders
1613
- * nested rows inline with the table, sub-headers as plain strips, no card chrome.
1614
- * The bound value is the default; the user can switch it from the Columns menu and
1615
- * the choice is remembered per table. */
1616
- set treeVariant(v: TreeVariant);
1617
- get treeVariant(): TreeVariant;
1618
- private _treeVariant;
1619
- private _declaredTreeVariant;
1620
- /** Show the flat/nested row-layout switch in the Columns menu. Hidden for now;
1621
- * the variant still comes from the `treeVariant` input. */
1622
- showTreeVariantToggle: boolean;
1623
- /** Flat variant only: draw a running guide rail down the left of each nested level. */
1624
- treeRail: boolean;
1625
- get isFlatTree(): boolean;
1626
- /** Show the flat/nested switch only when the table actually renders nested rows. */
1627
- get canSwitchTreeVariant(): boolean;
1628
- setTreeVariant(variant: TreeVariant): void;
1629
- readonly treeIndentRem = 1.25;
1630
- readonly treeDeepAlignRem = 0.625;
1631
- readonly treeFlatBaseRem = 3.75;
1632
- readonly treeFlatStepRem = 2.125;
1633
- readonly treeCardBaseRem = 4;
1634
- readonly treeSelectColRem = 2.25;
1635
- showColumnChooser: boolean;
1636
- searchString: string;
1637
- activeFilters: FilterObj[];
1638
- filtering: boolean;
1639
- private inputChangedDebounced;
1640
- visibleFilterColumns: ListColumn[];
1641
- overflowFilterColumns: ListColumn[];
1642
- showFilterOverflow: boolean;
1643
- private filterWidths;
1644
- private filtersDirty;
1645
- private filterRO?;
1646
- private observedToolbar?;
1647
- private overflowRaf;
1648
- private readonly FILTER_GAP;
1649
- private readonly MORE_BTN_W;
1650
- private resizing?;
1651
- private readonly onPointerMove;
1652
- private readonly onPointerUp;
1653
- private _rawColumns;
1654
- private _initialColumns;
1655
- private _initialized;
1656
- private subscription;
1657
- private _expandedKeys;
1658
- private _childrenCache;
1659
- private _destroyed;
1660
- constructor(svc: ListTableService, tableFilterService: DataTableFilterService, el: ElementRef, ngZone: NgZone, sanitizer: DomSanitizer);
1661
- ngOnInit(): void;
1662
- ngAfterViewInit(): void;
1663
- ngAfterViewChecked(): void;
1664
- ngOnDestroy(): void;
1665
- get showTable(): boolean;
1666
- /** Columns surfaced as inline filter controls in the toolbar. Text filters are
1667
- * excluded because the free-text search box already covers the primary text field. */
1668
- get filterableColumns(): ListColumn[];
1669
- /** A filter column is "active" when it has an applied filter. */
1670
- isFilterActive(col: ListColumn): boolean;
1671
- /** Applied filters that are currently hidden in the overflow dropdown. */
1672
- get hiddenActiveCount(): number;
1673
- toggleFilterOverflow(event: MouseEvent): void;
1674
- closeFilterOverflow(event?: Event): void;
1675
- private ensureFilterResizeObserver;
1676
- private scheduleFilterOverflow;
1677
- private recomputeFilterOverflow;
1678
- /** Split filter controls into inline vs. overflow, pinning active filters and
1679
- * dropping inactive (then, only if forced, active) from the right until they fit. */
1680
- private applyFilterSplit;
1681
- private buildColumns;
1682
- private updateVisible;
1683
- trackRow: (index: number, row: any) => any;
1684
- trackCol: (index: number, col: ListColumn) => string;
1685
- colWidth(col: ListColumn): string | null;
1686
- private rawValue;
1687
- private cellContext;
1688
- private legacyShim;
1689
- renderMode(col: ListColumn): 'component' | 'html' | 'text';
1690
- cellInputs(col: ListColumn, row: any, i: number): Record<string, unknown>;
1691
- cellHtml(col: ListColumn, row: any, i: number): string;
1692
- cellText(col: ListColumn, row: any, i: number): any;
1693
- cellClass(col: ListColumn): string;
1694
- onCellClick(col: ListColumn, row: any, i: number): void;
1695
- tooltipInputs(col: ListColumn, row: any, i: number): Record<string, unknown>;
1696
- hoverTooltip: {
1697
- component: Type<any>;
1698
- inputs: Record<string, unknown>;
1699
- left: number;
1700
- top: number;
1701
- } | null;
1702
- onCellHover(col: ListColumn, row: any, i: number, event: MouseEvent): void;
1703
- onCellLeave(): void;
1704
- /** The row currently under the pointer, so we only emit when it actually changes. */
1705
- private hoveredRow;
1706
- onRowHover(row: any): void;
1707
- onRowLeave(row: any): void;
1708
- /** True when nested rows get checkboxes and join the selection (opt-in). */
1709
- get childSelectEnabled(): boolean;
1710
- /** Rows the checkboxes and select-all act on: top-level only, unless selectChildren
1711
- * is set. Keeps select-all from marking nested rows a host that reads rowData never sees. */
1712
- private get selectableRows();
1713
- toggleItem: (item: any) => void;
1714
- /** Some rows selected but the header select-all isn't fully on (indeterminate). */
1715
- get someSelected(): boolean;
1716
- toggleAll(): void;
1717
- private syncSelectAll;
1718
- /** Emit every selected row across all depths. Walks the full data, not just the rendered
1719
- * rows, so a collapsed parent's selected children are still reported. */
1720
- private emitSelection;
1721
- get isTreeMode(): boolean;
1722
- /** True when per-level child columns are configured (children render in their own
1723
- * grid with a sub-header rather than the parent's columns). */
1724
- get hasChildColumns(): boolean;
1725
- /** Columns used at a given depth: level 0 is the main (visible) columns; deeper
1726
- * levels use `childColumnsByLevel`, falling back to the deepest set defined. */
1727
- columnsForLevel(level: number): ListColumn[];
1728
- /** Child columns the chooser lists at a depth: all declared ones (including hidden),
1729
- * minus structural columns like the select checkbox or row-actions gutter. */
1730
- allColumnsForLevel(level: number): ListColumn[];
1731
- /** Depths that offer configurable columns (skips the level-0 placeholder and any
1732
- * level that only holds structural columns), one chooser group per level. */
1733
- get childLevels(): number[];
1734
- /** Chooser hint for a nested level: its first few column labels, then "+N". */
1735
- childLevelLabel(level: number): string;
1736
- /** Key of the column that carries the expand control + indentation for a column set:
1737
- * the flagged one, else the first real data column (skipping a leading structural
1738
- * column such as a select checkbox the host put at the start). */
1739
- private treeColumnKeyFor;
1740
- treeColumnKeyForLevel(level: number): string | undefined;
1741
- /** Width of the columns before the tree column, used to pull the flat first-column
1742
- * indent back by whatever structural columns (like a select checkbox) sit ahead of
1743
- * it, so its content still lands under the parent row's name. */
1744
- treeLeadOffset(level: number): string;
1745
- isTreeColumn(col: ListColumn, level: number): boolean;
1746
- isTreeCell(col: ListColumn): boolean;
1747
- /** Columns a full-width nested row spans: the data columns plus the select and
1748
- * menu gutters, matching the header's cell count. */
1749
- get treeSpanCount(): number;
1750
- /** Per-level indent (rem); the card variant nudges levels past the first so the edge meets the parent chevron. */
1751
- treeIndentFor(level: number): number;
1752
- /** Flat variant: left pad (rem) of a nested row's first column (sub-header + data),
1753
- * one chevron-width per level so it lines up under the parent row's name. */
1754
- treeFlatFirstIndentRem(level: number): number;
1755
- /** Flat variant: drop the chevron slot for a leaf-only level so values sit under their header. */
1756
- showTreeLead(row: any): boolean;
1757
- /** Left inset (rem) of a nested card at a given depth, matching the td padding. */
1758
- private treeCardLeftRem;
1759
- private _railCache;
1760
- /** Vertical guide lines redrawing each ancestor card's left edge at this row's
1761
- * position, so a card's left border stays continuous where a nested card is
1762
- * inserted between its rows. Returns a stack of 1px background gradients, or null
1763
- * when there is no ancestor to redraw (roots and the first nested level). */
1764
- treeAncestorRails(level: number): string | null;
1765
- private computeAncestorRails;
1766
- gridTemplate(level: number): string;
1767
- private hasChildren;
1768
- /** A row can be expanded unless it is a leaf, has no loaded children, and has no
1769
- * loader left to try. */
1770
- canExpand(row: any): boolean;
1771
- toggleNode(row: any): void;
1772
- private onChildrenLoaded;
1773
- /** Flatten the tree into the ordered render list, tagging each row with its depth.
1774
- * Outside tree mode the render list is `rowData` as-is. */
1775
- private rebuildFlatRows;
1776
- onHeaderSort(event: {
1777
- colId: string;
1778
- dir: ListSortDir;
1779
- }): void;
1780
- showColumn(event: {
1781
- column: any;
1782
- visible: boolean;
1783
- }): void;
1784
- onReorder(event: CdkDragDrop<ListColumn[]>): void;
1785
- resetTableColumns(): void;
1786
- /** Count of columns the user has hidden beyond the defaults (drives the badge).
1787
- * Columns hidden by default don't count, so a fresh/default load shows no badge. */
1788
- get hiddenColumnCount(): number;
1789
- /** True when visibility, order, and width all match the originally declared
1790
- * columns. Width is included so resizing a column alone still enables the
1791
- * reset button; a column with no declared width uses null on both sides so
1792
- * it only counts as changed once the user drags it to a concrete width. */
1793
- get columnsAtDefault(): boolean;
1794
- /** True when every nested level's columns match their declared order/visibility/width. */
1795
- private get childColumnsAtDefault();
1796
- /** True when the column is hidden in the originally declared defaults. */
1797
- isDefaultHidden(col: ListColumn): boolean;
1798
- toggleColumnChooser(event: MouseEvent): void;
1799
- closeColumnChooser(): void;
1800
- private _chooserDragged;
1801
- onChooserDragStarted(): void;
1802
- onChooserDragEnded(): void;
1803
- /** Toggle a column's visibility. `level` undefined targets the top-level columns;
1804
- * a number targets that nested depth's columns. */
1805
- toggleColumnVisible(col: ListColumn, level?: number): void;
1806
- /** True when this is the only visible column at its level, so its toggle is disabled
1807
- * to keep at least one column on screen. */
1808
- isLastVisibleColumn(col: ListColumn, level?: number): boolean;
1809
- /** Columns shown in the top-level Columns menu. */
1810
- get chooserColumns(): ListColumn[];
1811
- /** Reorder columns from a chooser drag. `level` undefined targets the top-level
1812
- * columns; a number targets that nested depth's columns. */
1813
- chooserReorder(event: CdkDragDrop<ListColumn[]>, level?: number): void;
1814
- /** Refresh and persist after a column visibility/order change, routing to the
1815
- * top-level or nested-level persistence as appropriate. */
1816
- private afterColumnChange;
1817
- private nestedChooserOpen;
1818
- isNestedGroupOpen(id: string): boolean;
1819
- toggleNestedGroup(id: string): void;
1820
- startResize(col: ListColumn, event: PointerEvent): void;
1821
- /** Resize a nested row's column. Measures the sub-header cell's current rendered
1822
- * width so a flexible (1fr) column converts to a concrete width before dragging;
1823
- * the grid reflows live because its template reads each column's width. */
1824
- startChildResize(col: ListColumn, level: number, event: PointerEvent): void;
1825
- private handleResizeMove;
1826
- /** fitColumns: pick the sink column and the range the drag may travel, so the column and the sink
1827
- * trade width while every other column stays fixed. No-op (plain resize) when fitColumns is off. */
1828
- private setupFitCompensation;
1829
- /** The column that absorbs a resize: a flexible column first (it is meant to take up slack), else
1830
- * the nearest resizable column that is not the tree column, so indentation never shifts. */
1831
- private pickSink;
1832
- private measuredHeaderWidth;
1833
- private measuredCellWidth;
1834
- private handleResizeEnd;
1835
- private detachResizeListeners;
1836
- openActionMenu: (event: MouseEvent, item: any) => void;
1837
- closeActionMenu: () => void;
1838
- openHeaderActionMenu(event: MouseEvent): void;
1839
- hideMenuItem(menuItem: any, selectedItem: any): boolean;
1840
- closeHeaderActionMenu: () => void;
1841
- /** Restore-default (rotate) icon for the built-in header action. */
1842
- private readonly RESET_TABLE_ICON;
1843
- /** Header action menu rows: the reset action followed by host-provided header actions.
1844
- * A host action's `icon` (SVG markup) is rendered before its label, like the row menu. */
1845
- get headerMenuItems(): ListMenuItem[];
1846
- onHeaderMenuClick(evt: {
1847
- item: ListMenuItem;
1848
- event: MouseEvent;
1849
- }): void;
1850
- /** Row action menu rows, built from `menuItems` against the currently selected row.
1851
- * A menu item's `icon` (SVG markup) is rendered before its label in the menu. */
1852
- get rowMenuItems(): ListMenuItem[];
1853
- onRowMenuClick(evt: {
1854
- item: ListMenuItem;
1855
- event: MouseEvent;
1856
- }): void;
1857
- openCreate(): void;
1858
- onSearchInput(): void;
1859
- private applySearch;
1860
- nextPage(): void;
1861
- prevPage(): void;
1862
- get cursorPager(): boolean;
1863
- get nextDisabled(): boolean;
1864
- get prevDisabled(): boolean;
1865
- pageSizeOptions: number[];
1866
- /** Default rows-per-page when nothing is remembered (the persisted choice wins). */
1867
- initialPageSize: number;
1868
- get pageSize(): number;
1869
- get currentPageNum(): number;
1870
- get totalPages(): number;
1871
- /** Page numbers to render, with `0` marking a gap ("..."). Shows the first and
1872
- * last page plus a window around the current page so long lists stay compact. */
1873
- get pageWindow(): number[];
1874
- goToPage(page: number): void;
1875
- onPageSizeChange(size: number): void;
1876
- /** Re-fetch the current page (re-emits the page so the host reloads its data). */
1877
- refresh(): void;
1878
- private iconCache;
1879
- private safeIcon;
1880
- private updateEntityTypeLabel;
1881
- static ɵfac: i0.ɵɵFactoryDeclaration<ListTableComponent, never>;
1882
- static ɵcmp: i0.ɵɵComponentDeclaration<ListTableComponent, "lib-list-table", never, { "tableId": { "alias": "tableId"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "options": { "alias": "options"; "required": false; }; "loadChildren": { "alias": "loadChildren"; "required": false; }; "childColumnsByLevel": { "alias": "childColumnsByLevel"; "required": false; }; "hasNext": { "alias": "hasNext"; "required": false; }; "hasPrev": { "alias": "hasPrev"; "required": false; }; "startCount": { "alias": "startCount"; "required": false; }; "endCount": { "alias": "endCount"; "required": false; }; "totalCount": { "alias": "totalCount"; "required": false; }; "filterApplied": { "alias": "filterApplied"; "required": false; }; "menuItems": { "alias": "menuItems"; "required": false; }; "headerActions": { "alias": "headerActions"; "required": false; }; "noItemsImage": { "alias": "noItemsImage"; "required": false; }; "showNoItemsAdd": { "alias": "showNoItemsAdd"; "required": false; }; "noItemsReadonly": { "alias": "noItemsReadonly"; "required": false; }; "accessDenied": { "alias": "accessDenied"; "required": false; }; "entityTypeName": { "alias": "entityTypeName"; "required": false; }; "filterName": { "alias": "filterName"; "required": false; }; "filterColumn": { "alias": "filterColumn"; "required": false; }; "treeVariant": { "alias": "treeVariant"; "required": false; }; "showTreeVariantToggle": { "alias": "showTreeVariantToggle"; "required": false; }; "treeRail": { "alias": "treeRail"; "required": false; }; "initialPageSize": { "alias": "initialPageSize"; "required": false; }; }, { "nodeToggled": "nodeToggled"; "actionRequested": "actionRequested"; "tableReady": "tableReady"; "selectionChanged": "selectionChanged"; "rowHover": "rowHover"; }, never, ["[toolbar-filters]"], false, never>;
1883
- }
1884
-
1885
1213
  declare class ConsoleEventsService {
1886
1214
  refreshData: EventEmitter<any>;
1887
1215
  openSideModal: EventEmitter<any>;
@@ -1988,6 +1316,33 @@ declare class ConfigurationsPageComponent extends ListPageComponent implements O
1988
1316
  static ɵcmp: i0.ɵɵComponentDeclaration<ConfigurationsPageComponent, "lib-configurations", never, {}, {}, never, never, false, never>;
1989
1317
  }
1990
1318
 
1319
+ declare class ConfigurationsListPageComponent extends ListPageComponent implements OnInit {
1320
+ svc: ConfigurationsPageService;
1321
+ private tabNames;
1322
+ private extService;
1323
+ title: string;
1324
+ tabs: {
1325
+ url: string;
1326
+ label: string;
1327
+ }[];
1328
+ isLoading: boolean;
1329
+ formDataChanged: boolean;
1330
+ protected readonly tableId = "configurations";
1331
+ protected readonly initialPageSize = 50;
1332
+ constructor(svc: ConfigurationsPageService, filterService: DataTableFilterService, tabNames: TabNameService, consoleEvents: ConsoleEventsService, dialogForm: MatDialog, extService: ExtensionService);
1333
+ protected loadTableColumns(): any[];
1334
+ ngOnInit(): void;
1335
+ headerActionClicked(action: string): void;
1336
+ tableAction(event: any): void;
1337
+ trackMenuAction(action: string, item: any): void;
1338
+ deleteItem(item: any): void;
1339
+ closeModal(event?: any): void;
1340
+ dataChanged(event: any): void;
1341
+ confirmAssociatedDelete(configsWithAssociations: any, selectedItems: any, label: any): void;
1342
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationsListPageComponent, never>;
1343
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConfigurationsListPageComponent, "lib-configurations-list", never, {}, {}, never, ["[slot=list-page-subheader]"], false, never>;
1344
+ }
1345
+
1991
1346
  declare class ConfigTypesPageService extends ListPageServiceClass {
1992
1347
  private schemaSvc;
1993
1348
  protected router: Router;
@@ -1998,10 +1353,17 @@ declare class ConfigTypesPageService extends ListPageServiceClass {
1998
1353
  menuItems: {
1999
1354
  name: string;
2000
1355
  action: string;
1356
+ icon: string;
1357
+ }[];
1358
+ tableHeaderActions: {
1359
+ name: string;
1360
+ action: string;
1361
+ icon: string;
2001
1362
  }[];
2002
1363
  constructor(schemaSvc: SchemaService, settings: SettingsService, filterService: DataTableFilterService, csvDownloadService: CsvDownloadService, extService: ExtensionService, router: Router);
2003
1364
  initTableColumns(): any;
2004
- getData(filters?: FilterObj[], sort?: any): Promise<any>;
1365
+ initListTableColumns(): ListColumn[];
1366
+ getData(filters?: FilterObj[], sort?: any, page?: any, pageSize?: number): Promise<any>;
2005
1367
  private processData;
2006
1368
  private addActionsPerRow;
2007
1369
  openUpdate(item?: any): void;
@@ -2034,6 +1396,34 @@ declare class ConfigTypesPageComponent extends ListPageComponent implements OnIn
2034
1396
  static ɵcmp: i0.ɵɵComponentDeclaration<ConfigTypesPageComponent, "lib-configurations", never, {}, {}, never, never, false, never>;
2035
1397
  }
2036
1398
 
1399
+ declare class ConfigTypesListPageComponent extends ListPageComponent implements OnInit {
1400
+ svc: ConfigTypesPageService;
1401
+ private tabNames;
1402
+ private extService;
1403
+ title: string;
1404
+ tabs: {
1405
+ url: string;
1406
+ label: string;
1407
+ }[];
1408
+ isLoading: boolean;
1409
+ formDataChanged: boolean;
1410
+ protected readonly tableId = "config-types";
1411
+ protected readonly initialPageSize = 50;
1412
+ reservedNames: string[];
1413
+ constructor(svc: ConfigTypesPageService, filterService: DataTableFilterService, tabNames: TabNameService, consoleEvents: ConsoleEventsService, dialogForm: MatDialog, extService: ExtensionService);
1414
+ protected loadTableColumns(): any[];
1415
+ ngOnInit(): void;
1416
+ headerActionClicked(action: string): void;
1417
+ tableAction(event: any): void;
1418
+ trackMenuAction(action: string, item: any): void;
1419
+ deleteItem(item: any): void;
1420
+ closeModal(event?: any): void;
1421
+ dataChanged(event: any): void;
1422
+ confirmAssociatedDelete(configsWithAssociations: any, selectedItems: any, label: any): void;
1423
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfigTypesListPageComponent, never>;
1424
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConfigTypesListPageComponent, "lib-config-types-list", never, {}, {}, never, ["[slot=list-page-subheader]"], false, never>;
1425
+ }
1426
+
2037
1427
  declare class ConfigTypeFormService {
2038
1428
  private dataService;
2039
1429
  private extService;
@@ -2079,7 +1469,6 @@ declare class ConfigEditorComponent implements OnInit, AfterViewInit {
2079
1469
  formDataChangedDebounced: any;
2080
1470
  jsonDataChangedDebounced: any;
2081
1471
  dynamicForm: ViewContainerRef;
2082
- editor: JsonEditorComponent;
2083
1472
  constructor(schemaSvc: SchemaService, growlerService: GrowlerService);
2084
1473
  ngOnInit(): void;
2085
1474
  ngAfterViewInit(): void;
@@ -2212,7 +1601,7 @@ declare class ListTableHeaderComponent {
2212
1601
  tabSelected(tab: any): boolean;
2213
1602
  private tabMatchesActive;
2214
1603
  static ɵfac: i0.ɵɵFactoryDeclaration<ListTableHeaderComponent, never>;
2215
- static ɵcmp: i0.ɵɵComponentDeclaration<ListTableHeaderComponent, "lib-list-table-header", never, { "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "createLabel": { "alias": "createLabel"; "required": false; }; "infoText": { "alias": "infoText"; "required": false; }; "tabs": { "alias": "tabs"; "required": false; }; "showAdd": { "alias": "showAdd"; "required": false; }; "blockCreate": { "alias": "blockCreate"; "required": false; }; "blockDelete": { "alias": "blockDelete"; "required": false; }; "tabsUseRouter": { "alias": "tabsUseRouter"; "required": false; }; "activeTab": { "alias": "activeTab"; "required": false; }; }, { "actionClicked": "actionClicked"; "tabClicked": "tabClicked"; }, never, ["[header-icon]"], false, never>;
1604
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListTableHeaderComponent, "lib-list-table-header", never, { "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "createLabel": { "alias": "createLabel"; "required": false; }; "infoText": { "alias": "infoText"; "required": false; }; "tabs": { "alias": "tabs"; "required": false; }; "showAdd": { "alias": "showAdd"; "required": false; }; "blockCreate": { "alias": "blockCreate"; "required": false; }; "blockDelete": { "alias": "blockDelete"; "required": false; }; "tabsUseRouter": { "alias": "tabsUseRouter"; "required": false; }; "activeTab": { "alias": "activeTab"; "required": false; }; }, { "actionClicked": "actionClicked"; "tabClicked": "tabClicked"; }, never, ["[header-icon]", "[header-action]"], false, never>;
2216
1605
  }
2217
1606
 
2218
1607
  declare class FilterBarComponent {
@@ -2397,19 +1786,24 @@ declare class EdgeRoutersPageService extends ListPageServiceClass {
2397
1786
  }[];
2398
1787
  selectedEdgeRouter: any;
2399
1788
  columnFilters: any;
1789
+ edgeRouterRoleAttributes: any[];
1790
+ selectedEdgeRouterRoleAttributes: any[];
2400
1791
  menuItems: {
2401
1792
  name: string;
2402
1793
  action: string;
1794
+ icon: string;
2403
1795
  }[];
2404
1796
  tableHeaderActions: {
2405
1797
  name: string;
2406
1798
  action: string;
1799
+ icon: string;
2407
1800
  }[];
2408
1801
  resourceType: string;
2409
1802
  constructor(settings: SettingsServiceClass, filterService: DataTableFilterService, zitiService: ZitiDataService, csvDownloadService: CsvDownloadService, growlerService: GrowlerService, dialogForm: MatDialog, extService: ExtensionService, router: Router);
2410
1803
  validate: (formData: any) => Promise<CallbackResults>;
2411
1804
  initTableColumns(): any;
2412
- getData(filters?: FilterObj[], sort?: any, page?: any): Promise<any>;
1805
+ initListTableColumns(): ListColumn[];
1806
+ getData(filters?: FilterObj[], sort?: any, page?: any, pageSize?: number): Promise<any>;
2413
1807
  private processData;
2414
1808
  private addActionsPerRow;
2415
1809
  hasEnrolmentToken(item: any): boolean;
@@ -2450,6 +1844,35 @@ declare class EdgeRoutersPageComponent extends ListPageComponent implements OnIn
2450
1844
  static ɵcmp: i0.ɵɵComponentDeclaration<EdgeRoutersPageComponent, "lib-edge-routers", never, {}, {}, never, never, false, never>;
2451
1845
  }
2452
1846
 
1847
+ declare class EdgeRoutersListPageComponent extends ListPageComponent implements OnInit, OnDestroy {
1848
+ svc: EdgeRoutersPageService;
1849
+ private tabNames;
1850
+ private extService;
1851
+ title: string;
1852
+ tabs: {
1853
+ url: string;
1854
+ label: string;
1855
+ }[];
1856
+ isLoading: boolean;
1857
+ formDataChanged: boolean;
1858
+ protected readonly tableId = "edge-routers";
1859
+ protected readonly initialPageSize = 50;
1860
+ constructor(svc: EdgeRoutersPageService, filterService: DataTableFilterService, dialogForm: MatDialog, tabNames: TabNameService, consoleEvents: ConsoleEventsService, extService: ExtensionService);
1861
+ protected loadTableColumns(): any[];
1862
+ ngOnInit(): void;
1863
+ ngOnDestroy(): void;
1864
+ headerActionClicked(action: string): void;
1865
+ tableAction(event: any): void;
1866
+ trackMenuAction(action: string, item: any): void;
1867
+ downloadJWT(item: any): void;
1868
+ deleteItem(item: any): void;
1869
+ closeModal(event?: any): void;
1870
+ dataChanged(event: any): void;
1871
+ canDeactivate(): boolean;
1872
+ static ɵfac: i0.ɵɵFactoryDeclaration<EdgeRoutersListPageComponent, never>;
1873
+ static ɵcmp: i0.ɵɵComponentDeclaration<EdgeRoutersListPageComponent, "lib-edge-routers-list", never, {}, {}, never, ["[slot=list-page-subheader]"], false, never>;
1874
+ }
1875
+
2453
1876
  declare class TransitRoutersPageService extends ListPageServiceClass {
2454
1877
  private zitiService;
2455
1878
  csvDownloadService: CsvDownloadService;
@@ -2468,16 +1891,19 @@ declare class TransitRoutersPageService extends ListPageServiceClass {
2468
1891
  menuItems: {
2469
1892
  name: string;
2470
1893
  action: string;
1894
+ icon: string;
2471
1895
  }[];
2472
1896
  tableHeaderActions: {
2473
1897
  name: string;
2474
1898
  action: string;
1899
+ icon: string;
2475
1900
  }[];
2476
1901
  resourceType: string;
2477
1902
  constructor(settings: SettingsServiceClass, filterService: DataTableFilterService, zitiService: ZitiDataService, csvDownloadService: CsvDownloadService, growlerService: GrowlerService, dialogForm: MatDialog, extService: ExtensionService, router: Router);
2478
1903
  validate: (formData: any) => Promise<CallbackResults>;
2479
1904
  initTableColumns(): any;
2480
- getData(filters?: FilterObj[], sort?: any, page?: any): Promise<any>;
1905
+ initListTableColumns(): ListColumn[];
1906
+ getData(filters?: FilterObj[], sort?: any, page?: any, pageSize?: number): Promise<any>;
2481
1907
  private processData;
2482
1908
  private addActionsPerRow;
2483
1909
  hasEnrolmentToken(item: any): boolean;
@@ -2516,6 +1942,35 @@ declare class TransitRoutersPageComponent extends ListPageComponent implements O
2516
1942
  static ɵcmp: i0.ɵɵComponentDeclaration<TransitRoutersPageComponent, "lib-edge-routers", never, {}, {}, never, never, false, never>;
2517
1943
  }
2518
1944
 
1945
+ declare class TransitRoutersListPageComponent extends ListPageComponent implements OnInit, OnDestroy {
1946
+ svc: TransitRoutersPageService;
1947
+ private tabNames;
1948
+ private extService;
1949
+ title: string;
1950
+ tabs: {
1951
+ url: string;
1952
+ label: string;
1953
+ }[];
1954
+ isLoading: boolean;
1955
+ formDataChanged: boolean;
1956
+ protected readonly tableId = "transit-routers";
1957
+ protected readonly initialPageSize = 50;
1958
+ constructor(svc: TransitRoutersPageService, filterService: DataTableFilterService, tabNames: TabNameService, consoleEvents: ConsoleEventsService, dialogForm: MatDialog, extService: ExtensionService);
1959
+ protected loadTableColumns(): any[];
1960
+ ngOnInit(): void;
1961
+ ngOnDestroy(): void;
1962
+ headerActionClicked(action: string): void;
1963
+ closeModal(event?: any): void;
1964
+ dataChanged(event: any): void;
1965
+ tableAction(event: any): void;
1966
+ trackMenuAction(action: string, item: any): void;
1967
+ downloadJWT(item: any): void;
1968
+ deleteItem(item: any): void;
1969
+ canDeactivate(): boolean;
1970
+ static ɵfac: i0.ɵɵFactoryDeclaration<TransitRoutersListPageComponent, never>;
1971
+ static ɵcmp: i0.ɵɵComponentDeclaration<TransitRoutersListPageComponent, "lib-transit-routers-list", never, {}, {}, never, ["[slot=list-page-subheader]"], false, never>;
1972
+ }
1973
+
2519
1974
  type ZitiDateRangeQuickOption = {
2520
1975
  id: string;
2521
1976
  label: string;
@@ -2756,48 +2211,6 @@ declare class DataTableComponent implements OnChanges, OnInit {
2756
2211
  static ɵcmp: i0.ɵɵComponentDeclaration<DataTableComponent, "lib-data-table", never, { "rowData": { "alias": "rowData"; "required": false; }; "expandRowData": { "alias": "expandRowData"; "required": false; }; "collapseRowData": { "alias": "collapseRowData"; "required": false; }; "rowValidation": { "alias": "rowValidation"; "required": false; }; "isTimeSearchAvailable": { "alias": "isTimeSearchAvailable"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "tableId": { "alias": "tableId"; "required": false; }; "options": { "alias": "options"; "required": false; }; "validateService": { "alias": "validateService"; "required": false; }; "rowsToggled": { "alias": "rowsToggled"; "required": false; }; "tableRefreshCount": { "alias": "tableRefreshCount"; "required": false; }; "view": { "alias": "view"; "required": false; }; "serverSideDataSource": { "alias": "serverSideDataSource"; "required": false; }; "allowDownload": { "alias": "allowDownload"; "required": false; }; "startCount": { "alias": "startCount"; "required": false; }; "endCount": { "alias": "endCount"; "required": false; }; "totalCount": { "alias": "totalCount"; "required": false; }; "emptyMsg": { "alias": "emptyMsg"; "required": false; }; "filterApplied": { "alias": "filterApplied"; "required": false; }; "menuItems": { "alias": "menuItems"; "required": false; }; "headerActions": { "alias": "headerActions"; "required": false; }; "noItemsClass": { "alias": "noItemsClass"; "required": false; }; "entityTypeName": { "alias": "entityTypeName"; "required": false; }; "showNoItemsAdd": { "alias": "showNoItemsAdd"; "required": false; }; "noItemsReadonly": { "alias": "noItemsReadonly"; "required": false; }; "accessDenied": { "alias": "accessDenied"; "required": false; }; "currentPage": { "alias": "currentPage"; "required": false; }; "noItemsImage": { "alias": "noItemsImage"; "required": false; }; "rowHeight": { "alias": "rowHeight"; "required": false; }; "filterName": { "alias": "filterName"; "required": false; }; "filterColumn": { "alias": "filterColumn"; "required": false; }; "columnDefinitions": { "alias": "columnDefinitions"; "required": false; }; "refreshCount": { "alias": "refreshCount"; "required": false; }; }, { "actionRequested": "actionRequested"; "gridReady": "gridReady"; "dragStart": "dragStart"; "dragLeave": "dragLeave"; "pageChanged": "pageChanged"; }, never, never, false, never>;
2757
2212
  }
2758
2213
 
2759
- interface RefreshInterval {
2760
- label: string;
2761
- seconds: number;
2762
- }
2763
- /** Auto-refresh control: a pill + interval menu. Owns the timer and emits `refresh` each tick. */
2764
- declare class ListTableAutoRefreshComponent implements OnDestroy {
2765
- /** Current interval in seconds; 0 means off. */
2766
- set seconds(value: number);
2767
- get seconds(): number;
2768
- private _seconds;
2769
- /** Skip a tick while a refresh is already in flight. */
2770
- loading: boolean;
2771
- intervals: RefreshInterval[];
2772
- refresh: EventEmitter<void>;
2773
- secondsChange: EventEmitter<number>;
2774
- open: boolean;
2775
- /** Menu geometry, all measured when the menu opens: left offset so labels line up
2776
- * under the button's value, width so the right edge lands on the button's right
2777
- * edge, and right padding so the check centers under the chevron. */
2778
- menuLeft: number;
2779
- menuWidth: number;
2780
- menuPadRight: number;
2781
- private timer?;
2782
- arEl?: ElementRef<HTMLElement>;
2783
- valueEl?: ElementRef<HTMLElement>;
2784
- chevronEl?: ElementRef<HTMLElement>;
2785
- get enabled(): boolean;
2786
- get valueLabel(): string;
2787
- toggleMenu(event: MouseEvent): void;
2788
- /** Position + size the menu so its labels sit directly under the button's value,
2789
- * its right edge lands on the button's right edge (one shared border), and the
2790
- * right-aligned check centers under the chevron. */
2791
- private alignMenuToValue;
2792
- closeMenu(): void;
2793
- isSelected(seconds: number): boolean;
2794
- select(seconds: number): void;
2795
- private restartTimer;
2796
- ngOnDestroy(): void;
2797
- static ɵfac: i0.ɵɵFactoryDeclaration<ListTableAutoRefreshComponent, never>;
2798
- static ɵcmp: i0.ɵɵComponentDeclaration<ListTableAutoRefreshComponent, "lib-list-table-auto-refresh", never, { "seconds": { "alias": "seconds"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "intervals": { "alias": "intervals"; "required": false; }; }, { "refresh": "refresh"; "secondsChange": "secondsChange"; }, never, never, false, never>;
2799
- }
2800
-
2801
2214
  /**
2802
2215
  * Name cell for {@link ListTableComponent}: a link to the entity's detail route,
2803
2216
  * with optional identity/router status circles and a prefix icon. Inputs come from
@@ -2825,112 +2238,6 @@ declare class NameCellComponent {
2825
2238
  static ɵcmp: i0.ɵɵComponentDeclaration<NameCellComponent, "lib-name-cell", never, { "row": { "alias": "row"; "required": false; }; "cellValue": { "alias": "cellValue"; "required": false; }; "cellConfig": { "alias": "cellConfig"; "required": false; }; }, {}, never, never, false, never>;
2826
2239
  }
2827
2240
 
2828
- /**
2829
- * Row selection toggle for {@link ListTableComponent}. Router / exclusive /
2830
- * reserved / system rows cannot be toggled.
2831
- */
2832
- declare class SelectCellComponent {
2833
- item: any;
2834
- disableToggle: boolean;
2835
- set row(v: any);
2836
- /** Host callback invoked with the row when a selectable row is toggled. */
2837
- toggleItem: ((item: any) => void) | undefined;
2838
- toggle(item: any): void;
2839
- get tooltip(): string;
2840
- static ɵfac: i0.ɵɵFactoryDeclaration<SelectCellComponent, never>;
2841
- static ɵcmp: i0.ɵɵComponentDeclaration<SelectCellComponent, "lib-select-cell", never, { "row": { "alias": "row"; "required": false; }; "toggleItem": { "alias": "toggleItem"; "required": false; }; }, {}, never, never, false, never>;
2842
- }
2843
-
2844
- /** Header cell for {@link ListTableComponent}: label and 3-state sort (asc/desc). */
2845
- declare class ListHeaderCellComponent {
2846
- column: ListColumn;
2847
- sortDir: ListSortDir;
2848
- sortChanged: EventEmitter<{
2849
- colId: string;
2850
- dir: ListSortDir;
2851
- }>;
2852
- get enableSorting(): boolean;
2853
- sort(): void;
2854
- static ɵfac: i0.ɵɵFactoryDeclaration<ListHeaderCellComponent, never>;
2855
- static ɵcmp: i0.ɵɵComponentDeclaration<ListHeaderCellComponent, "lib-list-header-cell", never, { "column": { "alias": "column"; "required": false; }; "sortDir": { "alias": "sortDir"; "required": false; }; }, { "sortChanged": "sortChanged"; }, never, never, false, never>;
2856
- }
2857
-
2858
- type FilterMode = 'text' | 'single' | 'multi' | 'daterange';
2859
- interface FilterOption {
2860
- label: string;
2861
- value: any;
2862
- /** Optional class(es) to render the option as a colored chip/badge (e.g. Type). */
2863
- chipClass?: string;
2864
- }
2865
- /**
2866
- * A single control in the table's filter row. Renders the right widget for the
2867
- * column's `filterType` (text input / single-select / multi-select / date-range)
2868
- * and pushes changes through {@link DataTableFilterService}, whose value contract the
2869
- * controller query-builder already understands (icontains / = / anyOf() / datetime range).
2870
- */
2871
- declare class ListFilterCellComponent implements OnInit, OnDestroy {
2872
- private filterService;
2873
- private listSvc;
2874
- column: ListColumn;
2875
- mode: FilterMode;
2876
- options: FilterOption[];
2877
- textValue: string;
2878
- selectedValue: any;
2879
- selectedValues: string[];
2880
- /** In-dropdown search text for the multi-select attribute combo. */
2881
- attrSearch: string;
2882
- /** Match any selected attribute (or) vs every one (and); attribute filters only. */
2883
- attrSemantic: 'AnyOf' | 'AllOf';
2884
- open: boolean;
2885
- menuLeft: number;
2886
- menuTop: number;
2887
- menuWidth: number;
2888
- trigger?: ElementRef<HTMLElement>;
2889
- rangePicker?: MatDateRangePicker<Date>;
2890
- dateRangeStart: Date | null;
2891
- dateRangeEnd: Date | null;
2892
- private sub;
2893
- private textDebounced;
2894
- constructor(filterService: DataTableFilterService, listSvc: ListTableService);
2895
- ngOnInit(): void;
2896
- ngOnDestroy(): void;
2897
- get field(): string;
2898
- get placeholder(): string;
2899
- /** True only for the Ziti role-attribute flavor of multi-select (adds #/@ prefixing). */
2900
- get isAttributeMode(): boolean;
2901
- private resolveMode;
2902
- private resolveOptions;
2903
- private labelForValue;
2904
- /** Short display of the current selection, shown after the field label when set. */
2905
- get valueLabel(): string;
2906
- get hasValue(): boolean;
2907
- isOptionSelected(opt: FilterOption): boolean;
2908
- /** Attribute options filtered by the in-dropdown search box (multi mode). */
2909
- get filteredOptions(): FilterOption[];
2910
- /** A named attribute (rendered with @ + secondary color) vs a role attribute (# + primary). */
2911
- isNamedOption(opt: FilterOption): boolean;
2912
- /** Option label. The attribute flavor prefixes # (role) / keeps @ (named); others render plain. */
2913
- optionLabel(opt: FilterOption): string;
2914
- toggleMenu(event: MouseEvent): void;
2915
- closeMenu(): void;
2916
- onTextInput(): void;
2917
- private emitText;
2918
- selectOption(opt: FilterOption): void;
2919
- toggleOption(opt: FilterOption): void;
2920
- private emitMulti;
2921
- setSemantic(semantic: 'AnyOf' | 'AllOf'): void;
2922
- selectDatePreset(opt: FilterOption): void;
2923
- openCustomRange(event: MouseEvent): void;
2924
- onRangeStartChanged(date: Date | null): void;
2925
- onRangeEndChanged(date: Date | null): void;
2926
- private emitCustomRange;
2927
- clear(event: MouseEvent): void;
2928
- private removeThis;
2929
- private syncFromFilters;
2930
- static ɵfac: i0.ɵɵFactoryDeclaration<ListFilterCellComponent, never>;
2931
- static ɵcmp: i0.ɵɵComponentDeclaration<ListFilterCellComponent, "lib-list-filter-cell", never, { "column": { "alias": "column"; "required": false; }; }, {}, never, never, false, never>;
2932
- }
2933
-
2934
2241
  /**
2935
2242
  * Modern hover card for the identities O/S cell — shows the environment info
2936
2243
  * (OS, version, release, arch) in a clean key/value layout. Rendered by
@@ -2978,21 +2285,36 @@ type TokenStatus = 'available' | 'expired' | 'none';
2978
2285
  interface TokenAction {
2979
2286
  label: string;
2980
2287
  action: string;
2981
- icon: string;
2288
+ icon?: string;
2289
+ /** Inline SVG markup rendered instead of `icon`, for a glyph not in the icon font. */
2290
+ iconSvg?: string;
2982
2291
  }
2983
2292
  /**
2984
- * Enrollment-token cell for the identities list. Shows a status chip (Token /
2985
- * Expired / —) that doubles as a dropdown of enrollment actions (Download JWT, Show
2986
- * QR, Re-issue). Actions are emitted via the cell context's `emitAction`, so they run
2987
- * through the same page handlers as the row ⋯ menu.
2293
+ * Enrollment-token cell for list-table pages. Shows a status chip (Token / Expired /
2294
+ * —) that doubles as a dropdown of enrollment actions. The actions default to the
2295
+ * identity set (Download JWT, Show QR, Re-issue) but each page passes its own via
2296
+ * `availableActions`/`expiredActions` (edge routers, for example, drop QR/re-issue).
2297
+ * Actions are emitted via the cell context's `emitAction`, so they run through the
2298
+ * same page handlers as the row ⋯ menu.
2988
2299
  */
2989
2300
  declare class TokenCellComponent {
2301
+ private sanitizer;
2990
2302
  row: any;
2991
2303
  emitAction?: (action: string, item?: any) => void;
2304
+ /** Dropdown actions per token state. Default to the identity enrollment actions;
2305
+ * other pages (e.g. edge routers) pass their own, since Show QR code and Re-issue
2306
+ * enrollment are identity-only concepts. */
2307
+ availableActions: TokenAction[];
2308
+ expiredActions: TokenAction[];
2992
2309
  trigger?: ElementRef<HTMLElement>;
2993
2310
  open: boolean;
2994
2311
  menuLeft: number;
2995
2312
  menuTop: number;
2313
+ private iconSvgCache;
2314
+ constructor(sanitizer: DomSanitizer);
2315
+ /** Trust developer-authored inline SVG for an action icon, memoized so the same
2316
+ * markup yields the same SafeHtml and the binding does not re-render each cycle. */
2317
+ safeIcon(svg?: string): SafeHtml | null;
2996
2318
  get status(): TokenStatus;
2997
2319
  get statusLabel(): string;
2998
2320
  /** A cert-enrolled identity with no pending token can have its enrollment
@@ -3001,13 +2323,17 @@ declare class TokenCellComponent {
3001
2323
  * have no cert to reset and are left as the empty state. */
3002
2324
  get canReissue(): boolean;
3003
2325
  get actions(): TokenAction[];
2326
+ /** A dropdown only earns its caret when there is a choice to make; a lone action
2327
+ * (e.g. edge routers only ever "Download JWT") runs straight off the chip. */
2328
+ get hasMenu(): boolean;
2329
+ onChipClick(event: MouseEvent): void;
3004
2330
  toggleMenu(event: MouseEvent): void;
3005
2331
  closeMenu(): void;
3006
2332
  runAction(action: string, event: MouseEvent): void;
3007
2333
  private get hasEnrolmentToken();
3008
2334
  private get tokenExpired();
3009
2335
  static ɵfac: i0.ɵɵFactoryDeclaration<TokenCellComponent, never>;
3010
- static ɵcmp: i0.ɵɵComponentDeclaration<TokenCellComponent, "lib-token-cell", never, { "row": { "alias": "row"; "required": false; }; "emitAction": { "alias": "emitAction"; "required": false; }; }, {}, never, never, false, never>;
2336
+ static ɵcmp: i0.ɵɵComponentDeclaration<TokenCellComponent, "lib-token-cell", never, { "row": { "alias": "row"; "required": false; }; "emitAction": { "alias": "emitAction"; "required": false; }; "availableActions": { "alias": "availableActions"; "required": false; }; "expiredActions": { "alias": "expiredActions"; "required": false; }; }, {}, never, never, false, never>;
3011
2337
  }
3012
2338
 
3013
2339
  interface AttrChip {
@@ -3392,25 +2718,6 @@ declare class ConfirmComponent {
3392
2718
  static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmComponent, "lib-confirm", never, {}, {}, never, never, false, never>;
3393
2719
  }
3394
2720
 
3395
- declare class NoItemsComponent implements OnChanges {
3396
- image: string;
3397
- typeName: string;
3398
- isEmpty: boolean;
3399
- hasAdd: boolean;
3400
- hiddenResults: boolean;
3401
- isLoading: boolean;
3402
- readonly: boolean;
3403
- accessDenied: boolean;
3404
- background: any;
3405
- clickEmit: EventEmitter<any>;
3406
- refresh: EventEmitter<any>;
3407
- constructor();
3408
- ngOnChanges(): void;
3409
- iconClick(): void;
3410
- static ɵfac: i0.ɵɵFactoryDeclaration<NoItemsComponent, never>;
3411
- static ɵcmp: i0.ɵɵComponentDeclaration<NoItemsComponent, "lib-no-items", never, { "image": { "alias": "image"; "required": false; }; "typeName": { "alias": "typeName"; "required": false; }; "isEmpty": { "alias": "isEmpty"; "required": false; }; "hasAdd": { "alias": "hasAdd"; "required": false; }; "hiddenResults": { "alias": "hiddenResults"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "accessDenied": { "alias": "accessDenied"; "required": false; }; }, { "clickEmit": "clickEmit"; "refresh": "refresh"; }, never, never, false, never>;
3412
- }
3413
-
3414
2721
  declare class SideModalComponent implements OnInit {
3415
2722
  private consoleEvents;
3416
2723
  showClose: boolean;
@@ -4418,17 +3725,20 @@ declare class ServicesPageService extends ListPageServiceClass {
4418
3725
  menuItems: {
4419
3726
  name: string;
4420
3727
  action: string;
3728
+ icon: string;
4421
3729
  }[];
4422
3730
  tableHeaderActions: {
4423
3731
  name: string;
4424
3732
  action: string;
3733
+ icon: string;
4425
3734
  }[];
4426
3735
  resourceType: string;
4427
3736
  basePath: string;
4428
3737
  constructor(settings: SettingsServiceClass, filterService: DataTableFilterService, zitiService: ZitiDataService, csvDownloadService: CsvDownloadService, growlerService: GrowlerService, dialogForm: MatDialog, extensionService: ExtensionService, router: Router, servicePolicyService: ServicePolicyFormService);
4429
3738
  validate: (formData: any) => Promise<CallbackResults>;
4430
3739
  initTableColumns(): any;
4431
- getData(filters?: FilterObj[], sort?: any, page?: any): Promise<any>;
3740
+ initListTableColumns(): ListColumn[];
3741
+ getData(filters?: FilterObj[], sort?: any, page?: any, pageSize?: number): Promise<any>;
4432
3742
  private processData;
4433
3743
  private addActionsPerRow;
4434
3744
  getServiceRoleAttributes(): Promise<any>;
@@ -4485,6 +3795,37 @@ declare class ServicesPageComponent extends ListPageComponent implements OnInit,
4485
3795
  static ɵcmp: i0.ɵɵComponentDeclaration<ServicesPageComponent, "lib-services", never, {}, {}, never, never, false, never>;
4486
3796
  }
4487
3797
 
3798
+ declare class ServicesListPageComponent extends ListPageComponent implements OnInit, OnDestroy {
3799
+ svc: ServicesPageService;
3800
+ private tabNames;
3801
+ private growlerService;
3802
+ private settingsService;
3803
+ protected extensionService: ExtensionService;
3804
+ title: string;
3805
+ tabs: {
3806
+ url: string;
3807
+ label: string;
3808
+ }[];
3809
+ isLoading: boolean;
3810
+ formDataChanged: boolean;
3811
+ confirmData: any;
3812
+ protected readonly tableId = "services";
3813
+ protected readonly initialPageSize = 50;
3814
+ constructor(svc: ServicesPageService, filterService: DataTableFilterService, dialogForm: MatDialog, tabNames: TabNameService, consoleEvents: ConsoleEventsService, growlerService: GrowlerService, settingsService: SettingsService, extensionService: ExtensionService);
3815
+ protected loadTableColumns(): any[];
3816
+ ngOnInit(): void;
3817
+ headerActionClicked(action: string): void;
3818
+ tableAction(event: any): void;
3819
+ trackMenuAction(action: string, item: any): void;
3820
+ deleteItem(item: any): void;
3821
+ closeModal(event?: any): void;
3822
+ dataChanged(event: any): void;
3823
+ openBulkDelete(selectedItems: any[], entityTypeLabel?: string): void;
3824
+ openPreviewSelections(): void;
3825
+ static ɵfac: i0.ɵɵFactoryDeclaration<ServicesListPageComponent, never>;
3826
+ static ɵcmp: i0.ɵɵComponentDeclaration<ServicesListPageComponent, "lib-services-list", never, {}, {}, never, ["[slot=list-page-subheader]"], false, never>;
3827
+ }
3828
+
4488
3829
  declare const SERVICE_EXTENSION_SERVICE: InjectionToken<any>;
4489
3830
  declare class ServiceFormService {
4490
3831
  settingsService: SettingsService;
@@ -5610,10 +4951,12 @@ declare class TerminatorsPageService extends ListPageServiceClass {
5610
4951
  menuItems: {
5611
4952
  name: string;
5612
4953
  action: string;
4954
+ icon: string;
5613
4955
  }[];
5614
4956
  constructor(schemaSvc: SchemaService, settings: SettingsService, filterService: DataTableFilterService, csvDownloadService: CsvDownloadService, extService: ExtensionService, router: Router);
5615
4957
  initTableColumns(): any;
5616
- getData(filters?: FilterObj[], sort?: any): Promise<any>;
4958
+ initListTableColumns(): ListColumn[];
4959
+ getData(filters?: FilterObj[], sort?: any, page?: any, pageSize?: number): Promise<any>;
5617
4960
  validate: (formData: any) => Promise<CallbackResults>;
5618
4961
  private processData;
5619
4962
  private addActionsPerRow;
@@ -5645,6 +4988,33 @@ declare class TerminatorsPageComponent extends ListPageComponent implements OnIn
5645
4988
  static ɵcmp: i0.ɵɵComponentDeclaration<TerminatorsPageComponent, "lib-configurations", never, {}, {}, never, never, false, never>;
5646
4989
  }
5647
4990
 
4991
+ declare class TerminatorsListPageComponent extends ListPageComponent implements OnInit, OnDestroy {
4992
+ svc: TerminatorsPageService;
4993
+ private tabNames;
4994
+ private extService;
4995
+ title: string;
4996
+ tabs: {
4997
+ url: string;
4998
+ label: string;
4999
+ }[];
5000
+ isLoading: boolean;
5001
+ formDataChanged: boolean;
5002
+ protected readonly tableId = "terminators";
5003
+ protected readonly initialPageSize = 50;
5004
+ constructor(svc: TerminatorsPageService, filterService: DataTableFilterService, tabNames: TabNameService, consoleEvents: ConsoleEventsService, dialogForm: MatDialog, extService: ExtensionService);
5005
+ protected loadTableColumns(): any[];
5006
+ ngOnInit(): void;
5007
+ headerActionClicked(action: string): void;
5008
+ tableAction(event: any): void;
5009
+ trackMenuAction(action: string, item: any): void;
5010
+ deleteItem(item: any): void;
5011
+ closeModal(event?: any): void;
5012
+ dataChanged(event: any): void;
5013
+ ngOnDestroy(): void;
5014
+ static ɵfac: i0.ɵɵFactoryDeclaration<TerminatorsListPageComponent, never>;
5015
+ static ɵcmp: i0.ɵɵComponentDeclaration<TerminatorsListPageComponent, "lib-terminators-list", never, {}, {}, never, ["[slot=list-page-subheader]"], false, never>;
5016
+ }
5017
+
5648
5018
  declare class ConfigurationService {
5649
5019
  private dataService;
5650
5020
  private extService;
@@ -5740,10 +5110,17 @@ declare class JwtSignersPageService extends ListPageServiceClass {
5740
5110
  menuItems: {
5741
5111
  name: string;
5742
5112
  action: string;
5113
+ icon: string;
5114
+ }[];
5115
+ tableHeaderActions: {
5116
+ name: string;
5117
+ action: string;
5118
+ icon: string;
5743
5119
  }[];
5744
5120
  constructor(schemaSvc: SchemaService, settings: SettingsService, filterService: DataTableFilterService, csvDownloadService: CsvDownloadService, extService: ExtensionService, router: Router);
5745
5121
  initTableColumns(): any;
5746
- getData(filters?: FilterObj[], sort?: any): Promise<any>;
5122
+ initListTableColumns(): ListColumn[];
5123
+ getData(filters?: FilterObj[], sort?: any, page?: any, pageSize?: number): Promise<any>;
5747
5124
  validate: (formData: any) => Promise<CallbackResults>;
5748
5125
  private processData;
5749
5126
  private addActionsPerRow;
@@ -5780,6 +5157,37 @@ declare class JwtSignersPageComponent extends ListPageComponent implements OnIni
5780
5157
  static ɵcmp: i0.ɵɵComponentDeclaration<JwtSignersPageComponent, "lib-jwt-signers", never, {}, {}, never, never, false, never>;
5781
5158
  }
5782
5159
 
5160
+ declare class JwtSignersListPageComponent extends ListPageComponent implements OnInit {
5161
+ svc: JwtSignersPageService;
5162
+ private tabNames;
5163
+ private extService;
5164
+ title: string;
5165
+ tabs: {
5166
+ url: string;
5167
+ label: string;
5168
+ }[];
5169
+ isLoading: boolean;
5170
+ formDataChanged: boolean;
5171
+ protected readonly tableId = "ext-jwt-signers";
5172
+ protected readonly initialPageSize = 50;
5173
+ _networkJwt: any;
5174
+ constructor(svc: JwtSignersPageService, filterService: DataTableFilterService, tabNames: TabNameService, consoleEvents: ConsoleEventsService, dialogForm: MatDialog, extService: ExtensionService);
5175
+ protected loadTableColumns(): any[];
5176
+ ngOnInit(): void;
5177
+ headerActionClicked(action: string): void;
5178
+ confirmAssociatedDelete(jwtSignersWithAssociations: any): void;
5179
+ tableAction(event: any): void;
5180
+ trackMenuAction(action: string, item: any): void;
5181
+ checkForAssociatedEntities(selectedItems: any): void;
5182
+ deleteItem(item: any): void;
5183
+ closeModal(event?: any): void;
5184
+ dataChanged(event: any): void;
5185
+ get networkJwt(): string;
5186
+ get networkJwtFilename(): string;
5187
+ static ɵfac: i0.ɵɵFactoryDeclaration<JwtSignersListPageComponent, never>;
5188
+ static ɵcmp: i0.ɵɵComponentDeclaration<JwtSignersListPageComponent, "lib-jwt-signers-list", never, {}, {}, never, ["[slot=list-page-subheader]"], false, never>;
5189
+ }
5190
+
5783
5191
  declare class JwtSignerFormService {
5784
5192
  private dataService;
5785
5193
  private extService;
@@ -5964,11 +5372,18 @@ declare class AuthPoliciesPageService extends ListPageServiceClass {
5964
5372
  menuItems: {
5965
5373
  name: string;
5966
5374
  action: string;
5375
+ icon: string;
5376
+ }[];
5377
+ tableHeaderActions: {
5378
+ name: string;
5379
+ action: string;
5380
+ icon: string;
5967
5381
  }[];
5968
5382
  constructor(schemaSvc: SchemaService, settings: SettingsService, filterService: DataTableFilterService, csvDownloadService: CsvDownloadService, extService: ExtensionService, router: Router, dialogForm: MatDialog);
5969
5383
  initTableColumns(): any;
5970
5384
  checkDefaultAuthPolicy(authPolicy: any): Promise<any>;
5971
- getData(filters?: FilterObj[], sort?: any): Promise<any>;
5385
+ initListTableColumns(): ListColumn[];
5386
+ getData(filters?: FilterObj[], sort?: any, page?: any, pageSize?: number): Promise<any>;
5972
5387
  validate: (formData: any) => Promise<CallbackResults>;
5973
5388
  private processData;
5974
5389
  private addActionsPerRow;
@@ -6000,6 +5415,33 @@ declare class AuthPoliciesPageComponent extends ListPageComponent implements OnI
6000
5415
  static ɵcmp: i0.ɵɵComponentDeclaration<AuthPoliciesPageComponent, "lib-auth-policies", never, {}, {}, never, never, false, never>;
6001
5416
  }
6002
5417
 
5418
+ declare class AuthPoliciesListPageComponent extends ListPageComponent implements OnInit, OnDestroy {
5419
+ svc: AuthPoliciesPageService;
5420
+ private tabNames;
5421
+ private extService;
5422
+ title: string;
5423
+ tabs: {
5424
+ url: string;
5425
+ label: string;
5426
+ }[];
5427
+ isLoading: boolean;
5428
+ formDataChanged: boolean;
5429
+ protected readonly tableId = "auth-policies";
5430
+ protected readonly initialPageSize = 50;
5431
+ constructor(svc: AuthPoliciesPageService, filterService: DataTableFilterService, tabNames: TabNameService, consoleEvents: ConsoleEventsService, dialogForm: MatDialog, extService: ExtensionService);
5432
+ protected loadTableColumns(): any[];
5433
+ ngOnInit(): void;
5434
+ headerActionClicked(action: string): void;
5435
+ tableAction(event: any): void;
5436
+ trackMenuAction(action: string, item: any): void;
5437
+ deleteItem(item: any): void;
5438
+ closeModal(event?: any): void;
5439
+ dataChanged(event: any): void;
5440
+ ngOnDestroy(): void;
5441
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthPoliciesListPageComponent, never>;
5442
+ static ɵcmp: i0.ɵɵComponentDeclaration<AuthPoliciesListPageComponent, "lib-auth-policies-list", never, {}, {}, never, ["[slot=list-page-subheader]"], false, never>;
5443
+ }
5444
+
6003
5445
  declare class AuthPolicyFormService {
6004
5446
  private dataService;
6005
5447
  private extService;
@@ -6145,10 +5587,17 @@ declare class CertificateAuthoritiesPageService extends ListPageServiceClass {
6145
5587
  menuItems: {
6146
5588
  name: string;
6147
5589
  action: string;
5590
+ icon: string;
5591
+ }[];
5592
+ tableHeaderActions: {
5593
+ name: string;
5594
+ action: string;
5595
+ icon: string;
6148
5596
  }[];
6149
5597
  constructor(schemaSvc: SchemaService, settings: SettingsService, filterService: DataTableFilterService, csvDownloadService: CsvDownloadService, extService: ExtensionService, router: Router, dialogForm: MatDialog);
6150
5598
  initTableColumns(): any;
6151
- getData(filters?: FilterObj[], sort?: any): Promise<any>;
5599
+ initListTableColumns(): ListColumn[];
5600
+ getData(filters?: FilterObj[], sort?: any, page?: any, pageSize?: number): Promise<any>;
6152
5601
  validate: (formData: any) => Promise<CallbackResults>;
6153
5602
  private processData;
6154
5603
  private addActionsPerRow;
@@ -6183,6 +5632,33 @@ declare class CertificateAuthoritiesPageComponent extends ListPageComponent impl
6183
5632
  static ɵcmp: i0.ɵɵComponentDeclaration<CertificateAuthoritiesPageComponent, "lib-auth-policies", never, {}, {}, never, never, false, never>;
6184
5633
  }
6185
5634
 
5635
+ declare class CertificateAuthoritiesListPageComponent extends ListPageComponent implements OnInit, OnDestroy {
5636
+ svc: CertificateAuthoritiesPageService;
5637
+ private tabNames;
5638
+ private extService;
5639
+ title: string;
5640
+ tabs: {
5641
+ url: string;
5642
+ label: string;
5643
+ }[];
5644
+ isLoading: boolean;
5645
+ formDataChanged: boolean;
5646
+ protected readonly tableId = "certificate-authorities";
5647
+ protected readonly initialPageSize = 50;
5648
+ constructor(svc: CertificateAuthoritiesPageService, filterService: DataTableFilterService, tabNames: TabNameService, consoleEvents: ConsoleEventsService, dialogForm: MatDialog, extService: ExtensionService);
5649
+ protected loadTableColumns(): any[];
5650
+ ngOnInit(): void;
5651
+ headerActionClicked(action: string): void;
5652
+ tableAction(event: any): void;
5653
+ trackMenuAction(action: string, item: any): void;
5654
+ deleteItem(item: any): void;
5655
+ closeModal(event?: any): void;
5656
+ dataChanged(event: any): void;
5657
+ ngOnDestroy(): void;
5658
+ static ɵfac: i0.ɵɵFactoryDeclaration<CertificateAuthoritiesListPageComponent, never>;
5659
+ static ɵcmp: i0.ɵɵComponentDeclaration<CertificateAuthoritiesListPageComponent, "lib-certificate-authorities-list", never, {}, {}, never, ["[slot=list-page-subheader]"], false, never>;
5660
+ }
5661
+
6186
5662
  declare class CertificateAuthorityFormService {
6187
5663
  private dataService;
6188
5664
  private extService;
@@ -6637,10 +6113,17 @@ declare class SessionsPageService extends ListPageServiceClass {
6637
6113
  menuItems: {
6638
6114
  name: string;
6639
6115
  action: string;
6116
+ icon: string;
6117
+ }[];
6118
+ tableHeaderActions: {
6119
+ name: string;
6120
+ action: string;
6121
+ icon: string;
6640
6122
  }[];
6641
6123
  constructor(schemaSvc: SchemaService, settings: SettingsService, filterService: DataTableFilterService, csvDownloadService: CsvDownloadService, extService: ExtensionService, router: Router);
6642
6124
  initTableColumns(): any;
6643
- getData(filters?: FilterObj[], sort?: any): Promise<any>;
6125
+ initListTableColumns(): ListColumn[];
6126
+ getData(filters?: FilterObj[], sort?: any, page?: any, pageSize?: number): Promise<any>;
6644
6127
  private processData;
6645
6128
  private addActionsPerRow;
6646
6129
  openUpdate(item?: any): void;
@@ -6672,6 +6155,33 @@ declare class SessionsPageComponent extends ListPageComponent implements OnInit
6672
6155
  static ɵcmp: i0.ɵɵComponentDeclaration<SessionsPageComponent, "lib-sessions", never, {}, {}, never, never, false, never>;
6673
6156
  }
6674
6157
 
6158
+ declare class SessionsListPageComponent extends ListPageComponent implements OnInit, OnDestroy {
6159
+ svc: SessionsPageService;
6160
+ private tabNames;
6161
+ private extService;
6162
+ title: string;
6163
+ tabs: {
6164
+ url: string;
6165
+ label: string;
6166
+ }[];
6167
+ isLoading: boolean;
6168
+ formDataChanged: boolean;
6169
+ protected readonly tableId = "sessions";
6170
+ protected readonly initialPageSize = 50;
6171
+ constructor(svc: SessionsPageService, filterService: DataTableFilterService, tabNames: TabNameService, consoleEvents: ConsoleEventsService, dialogForm: MatDialog, extService: ExtensionService);
6172
+ protected loadTableColumns(): any[];
6173
+ ngOnInit(): void;
6174
+ headerActionClicked(action: string): void;
6175
+ tableAction(event: any): void;
6176
+ trackMenuAction(action: string, item: any): void;
6177
+ openBulkDelete(selectedItems: any, label: any): void;
6178
+ deleteItem(item: any): void;
6179
+ closeModal(event?: any): void;
6180
+ dataChanged(event: any): void;
6181
+ static ɵfac: i0.ɵɵFactoryDeclaration<SessionsListPageComponent, never>;
6182
+ static ɵcmp: i0.ɵɵComponentDeclaration<SessionsListPageComponent, "lib-sessions-list", never, {}, {}, never, ["[slot=list-page-subheader]"], false, never>;
6183
+ }
6184
+
6675
6185
  declare class Session {
6676
6186
  name: string;
6677
6187
  tags: any;
@@ -6768,11 +6278,18 @@ declare class ApiSessionsPageService extends ListPageServiceClass {
6768
6278
  menuItems: {
6769
6279
  name: string;
6770
6280
  action: string;
6281
+ icon: string;
6282
+ }[];
6283
+ tableHeaderActions: {
6284
+ name: string;
6285
+ action: string;
6286
+ icon: string;
6771
6287
  }[];
6772
6288
  constructor(schemaSvc: SchemaService, settings: SettingsService, filterService: DataTableFilterService, csvDownloadService: CsvDownloadService, extService: ExtensionService, router: Router);
6773
6289
  initTableColumns(): any;
6290
+ initListTableColumns(): ListColumn[];
6774
6291
  openIdentityForm(itemId?: string, basePath?: any): void;
6775
- getData(filters?: FilterObj[], sort?: any): Promise<any>;
6292
+ getData(filters?: FilterObj[], sort?: any, page?: any, pageSize?: number): Promise<any>;
6776
6293
  private processData;
6777
6294
  private addActionsPerRow;
6778
6295
  openUpdate(item?: any): void;
@@ -6804,6 +6321,33 @@ declare class APISessionsPageComponent extends ListPageComponent implements OnIn
6804
6321
  static ɵcmp: i0.ɵɵComponentDeclaration<APISessionsPageComponent, "lib-api-sessions", never, {}, {}, never, never, false, never>;
6805
6322
  }
6806
6323
 
6324
+ declare class APISessionsListPageComponent extends ListPageComponent implements OnInit, OnDestroy {
6325
+ svc: ApiSessionsPageService;
6326
+ private tabNames;
6327
+ private extService;
6328
+ title: string;
6329
+ tabs: {
6330
+ url: string;
6331
+ label: string;
6332
+ }[];
6333
+ isLoading: boolean;
6334
+ formDataChanged: boolean;
6335
+ protected readonly tableId = "api-sessions";
6336
+ protected readonly initialPageSize = 50;
6337
+ constructor(svc: ApiSessionsPageService, filterService: DataTableFilterService, tabNames: TabNameService, consoleEvents: ConsoleEventsService, dialogForm: MatDialog, extService: ExtensionService);
6338
+ protected loadTableColumns(): any[];
6339
+ ngOnInit(): void;
6340
+ headerActionClicked(action: string): void;
6341
+ tableAction(event: any): void;
6342
+ trackMenuAction(action: string, item: any): void;
6343
+ openBulkDelete(selectedItems: any, label: any): void;
6344
+ deleteItem(item: any): void;
6345
+ closeModal(event?: any): void;
6346
+ dataChanged(event: any): void;
6347
+ static ɵfac: i0.ɵɵFactoryDeclaration<APISessionsListPageComponent, never>;
6348
+ static ɵcmp: i0.ɵɵComponentDeclaration<APISessionsListPageComponent, "lib-api-sessions-list", never, {}, {}, never, ["[slot=list-page-subheader]"], false, never>;
6349
+ }
6350
+
6807
6351
  declare class APISessionFormService {
6808
6352
  settingsService: SettingsService;
6809
6353
  private zitiService;
@@ -9305,10 +8849,9 @@ declare class GrowlerModule {
9305
8849
  static ɵinj: i0.ɵɵInjectorDeclaration<GrowlerModule>;
9306
8850
  }
9307
8851
 
9308
- declare function playerFactory(): Promise<typeof lottie_web>;
9309
8852
  declare class OpenZitiConsoleLibModule {
9310
8853
  static ɵfac: i0.ɵɵFactoryDeclaration<OpenZitiConsoleLibModule, never>;
9311
- static ɵmod: i0.ɵɵNgModuleDeclaration<OpenZitiConsoleLibModule, [typeof SafePipe, typeof ExtendableComponent, typeof StringInputComponent, typeof NumberInputComponent, typeof BooleanToggleInputComponent, typeof ObjectComponent, typeof SelectorInputComponent, typeof TextListInputComponent, typeof ChipsInputComponent, typeof CheckboxListInputComponent, typeof ProtocolAddressPortInputComponent, typeof SideNavbarComponent, typeof PasswordInputComponent, typeof TerminatorFormComponent, typeof ConfigurationsPageComponent, typeof ConfigTypesPageComponent, typeof ConfigTypeFormComponent, typeof ListPageHeaderComponent, typeof ListTableHeaderComponent, typeof FilterBarComponent, typeof ListPageFormComponent, typeof IdentitiesPageComponent, typeof IdentitiesListPageComponent, typeof EdgeRoutersPageComponent, typeof TransitRoutersPageComponent, typeof DataTableComponent, typeof ListTableComponent, typeof ListMenuComponent, typeof ListTableAutoRefreshComponent, typeof NameCellComponent, typeof SelectCellComponent, typeof ListHeaderCellComponent, typeof ListFilterCellComponent, typeof OsInfoTooltipComponent, typeof SdkInfoTooltipComponent, typeof BooleanCellComponent, typeof TokenCellComponent, typeof AttributeCellComponent, typeof TableCellSelectComponent, typeof TableColumnSelectComponent, typeof TableCellMenuComponent, typeof TableColumnMenuComponent, typeof TableColumnDefaultComponent, typeof TableColumnFilterComponent, typeof IdentityFormComponent, typeof EdgeRouterFormComponent, typeof TransitRouterFormComponent, typeof HiddenColumnsBarComponent, typeof ConfirmComponent, typeof NoItemsComponent, typeof SideModalComponent, typeof FormHeaderComponent, typeof FormFieldContainerComponent, typeof PreviewListComponent, typeof LoadingIndicatorComponent, typeof FormFieldToggleComponent, typeof JsonViewComponent, typeof TagSelectorComponent, typeof QrCodeComponent, typeof TableCellTokenComponent, typeof OSTooltipComponent, typeof SDKTooltipComponent, typeof OverridesComponent, typeof ResetEnrollmentComponent, typeof IdentityServicePathComponent, typeof NetworkVisualizerComponent, typeof CustomTagsComponent, typeof ServicesPageComponent, typeof ServiceFormComponent, typeof PortRangesComponent, typeof ForwardingConfigComponent, typeof CardListComponent, typeof SimpleServiceComponent, typeof CardComponent, typeof CreationSummaryDialogComponent, typeof ConfigEditorComponent, typeof ServicePoliciesPageComponent, typeof ServicePoliciesListPageComponent, typeof ServicePolicyFormComponent, typeof EdgeRouterPoliciesPageComponent, typeof EdgeRouterPoliciesListPageComponent, typeof EdgeRouterPolicyFormComponent, typeof MultiActionButtonComponent, typeof TableCellNameComponent, typeof ServiceEdgeRouterPoliciesPageComponent, typeof ServiceEdgeRouterPoliciesListPageComponent, typeof ServiceEdgeRouterPolicyFormComponent, typeof TerminatorsPageComponent, typeof ConfigurationFormComponent, typeof JwtSignersPageComponent, typeof JwtSignerFormComponent, typeof AuthPoliciesPageComponent, typeof AuthPolicyFormComponent, typeof PreviewSelectionsComponent, typeof CertificateAuthoritiesPageComponent, typeof CertificateAuthorityFormComponent, typeof VerifyCertificateComponent, typeof LoginDialogComponent, typeof PostureChecksPageComponent, typeof PostureChecksListPageComponent, typeof PostureCheckFormComponent, typeof SessionsPageComponent, typeof SessionFormComponent, typeof APISessionsPageComponent, typeof APISessionFormComponent, typeof CallbackComponent, typeof ProgressMeterComponent, typeof ProgressWizardComponent, typeof SettingsComponent, typeof ProfileComponent, typeof GeolocateComponent, typeof MapLegendComponent, typeof EntityCountLegendComponent, typeof CircuitHopsTableComponent, typeof RouterPathTableComponent, typeof GeolocateFilterBarComponent, typeof SidePanelContainerComponent, typeof MarkerPanelComponent, typeof LinkPanelComponent, typeof CircuitPanelComponent, typeof EntityListPanelComponent, typeof UnlocatedPanelComponent, typeof ServicesWithCircuitsPanelComponent, typeof HaStatusIndicatorComponent, typeof AttributesComponent, typeof SideNavigatorComponent, typeof HeaderBarComponent, typeof QuickAddComponent, typeof DateRangeQuickHeaderComponent, typeof FilterSelectComponent, typeof FilterSelectOptionTemplateDirective, typeof FilterSelectTriggerTemplateDirective], [typeof i2.CommonModule, typeof ConfigBuilderModule, typeof i3.FormsModule, typeof i135.MatDialogModule, typeof i136.MatRadioModule, typeof ZacRoutingModule, typeof i138.MatDatepickerModule, typeof i139.MatNativeDateModule, typeof i140.MatFormFieldModule, typeof i141.MatInputModule, typeof i142.MatSelectModule, typeof i143.MatButtonModule, typeof i144.MatIconModule, typeof i145.OverlayModule, typeof i146.DragDropModule, typeof i147.AgGridModule, typeof i148.QRCodeComponent, typeof i149.ClickOutsideModule, typeof i150.NgJsonEditorModule, typeof i4.MatTooltipModule, typeof i152.MatAutocompleteModule, typeof i153.LottieComponent, typeof DateTimePickerComponent], [typeof ExtendableComponent, typeof SideNavbarComponent, typeof StringInputComponent, typeof SelectorInputComponent, typeof PasswordInputComponent, typeof NumberInputComponent, typeof BooleanToggleInputComponent, typeof ObjectComponent, typeof TextListInputComponent, typeof ChipsInputComponent, typeof IdentityServicePathComponent, typeof NetworkVisualizerComponent, typeof CheckboxListInputComponent, typeof ProtocolAddressPortInputComponent, typeof ConfigurationsPageComponent, typeof ConfigurationFormComponent, typeof ConfigTypesPageComponent, typeof ConfigTypeFormComponent, typeof EdgeRouterFormComponent, typeof TransitRouterFormComponent, typeof IdentitiesPageComponent, typeof IdentitiesListPageComponent, typeof EdgeRoutersPageComponent, typeof TransitRoutersPageComponent, typeof ServicesPageComponent, typeof ZacRoutingModule, typeof SideModalComponent, typeof IdentityFormComponent, typeof LoadingIndicatorComponent, typeof GrowlerModule, typeof FormFieldContainerComponent, typeof FormFieldToggleComponent, typeof ServiceFormComponent, typeof ServicePoliciesPageComponent, typeof ServicePoliciesListPageComponent, typeof ServicePolicyFormComponent, typeof EdgeRouterPoliciesPageComponent, typeof EdgeRouterPoliciesListPageComponent, typeof TerminatorsPageComponent, typeof TerminatorFormComponent, typeof JwtSignersPageComponent, typeof JwtSignerFormComponent, typeof AuthPoliciesPageComponent, typeof AuthPolicyFormComponent, typeof LoginDialogComponent, typeof PostureChecksPageComponent, typeof PostureChecksListPageComponent, typeof PostureCheckFormComponent, typeof SessionsPageComponent, typeof SessionFormComponent, typeof APISessionsPageComponent, typeof APISessionFormComponent, typeof CallbackComponent, typeof FormHeaderComponent, typeof JsonViewComponent, typeof PreviewListComponent, typeof TagSelectorComponent, typeof ProgressMeterComponent, typeof ProgressWizardComponent, typeof ConfigEditorComponent, typeof SettingsComponent, typeof ProfileComponent, typeof GeolocateComponent, typeof AttributesComponent, typeof HeaderBarComponent, typeof SideNavigatorComponent, typeof FilterSelectComponent, typeof FilterSelectOptionTemplateDirective, typeof FilterSelectTriggerTemplateDirective, typeof ListTableComponent, typeof ListTableHeaderComponent, typeof ListTableAutoRefreshComponent]>;
8854
+ static ɵmod: i0.ɵɵNgModuleDeclaration<OpenZitiConsoleLibModule, [typeof SafePipe, typeof ExtendableComponent, typeof StringInputComponent, typeof NumberInputComponent, typeof BooleanToggleInputComponent, typeof ObjectComponent, typeof SelectorInputComponent, typeof TextListInputComponent, typeof ChipsInputComponent, typeof CheckboxListInputComponent, typeof ProtocolAddressPortInputComponent, typeof SideNavbarComponent, typeof PasswordInputComponent, typeof TerminatorFormComponent, typeof ConfigurationsPageComponent, typeof ConfigurationsListPageComponent, typeof ConfigTypesPageComponent, typeof ConfigTypesListPageComponent, typeof ConfigTypeFormComponent, typeof ListPageHeaderComponent, typeof ListTableHeaderComponent, typeof FilterBarComponent, typeof ListPageFormComponent, typeof IdentitiesPageComponent, typeof IdentitiesListPageComponent, typeof EdgeRoutersPageComponent, typeof EdgeRoutersListPageComponent, typeof TransitRoutersPageComponent, typeof TransitRoutersListPageComponent, typeof DataTableComponent, typeof NameCellComponent, typeof OsInfoTooltipComponent, typeof SdkInfoTooltipComponent, typeof BooleanCellComponent, typeof TokenCellComponent, typeof AttributeCellComponent, typeof TableCellSelectComponent, typeof TableColumnSelectComponent, typeof TableCellMenuComponent, typeof TableColumnMenuComponent, typeof TableColumnDefaultComponent, typeof TableColumnFilterComponent, typeof IdentityFormComponent, typeof EdgeRouterFormComponent, typeof TransitRouterFormComponent, typeof HiddenColumnsBarComponent, typeof ConfirmComponent, typeof SideModalComponent, typeof FormHeaderComponent, typeof FormFieldContainerComponent, typeof PreviewListComponent, typeof LoadingIndicatorComponent, typeof FormFieldToggleComponent, typeof JsonViewComponent, typeof TagSelectorComponent, typeof QrCodeComponent, typeof TableCellTokenComponent, typeof OSTooltipComponent, typeof SDKTooltipComponent, typeof OverridesComponent, typeof ResetEnrollmentComponent, typeof IdentityServicePathComponent, typeof NetworkVisualizerComponent, typeof CustomTagsComponent, typeof ServicesPageComponent, typeof ServicesListPageComponent, typeof ServiceFormComponent, typeof PortRangesComponent, typeof ForwardingConfigComponent, typeof CardListComponent, typeof SimpleServiceComponent, typeof CardComponent, typeof CreationSummaryDialogComponent, typeof ConfigEditorComponent, typeof ServicePoliciesPageComponent, typeof ServicePoliciesListPageComponent, typeof ServicePolicyFormComponent, typeof EdgeRouterPoliciesPageComponent, typeof EdgeRouterPoliciesListPageComponent, typeof EdgeRouterPolicyFormComponent, typeof MultiActionButtonComponent, typeof TableCellNameComponent, typeof ServiceEdgeRouterPoliciesPageComponent, typeof ServiceEdgeRouterPoliciesListPageComponent, typeof ServiceEdgeRouterPolicyFormComponent, typeof TerminatorsPageComponent, typeof TerminatorsListPageComponent, typeof ConfigurationFormComponent, typeof JwtSignersPageComponent, typeof JwtSignersListPageComponent, typeof JwtSignerFormComponent, typeof AuthPoliciesPageComponent, typeof AuthPoliciesListPageComponent, typeof AuthPolicyFormComponent, typeof PreviewSelectionsComponent, typeof CertificateAuthoritiesPageComponent, typeof CertificateAuthoritiesListPageComponent, typeof CertificateAuthorityFormComponent, typeof VerifyCertificateComponent, typeof LoginDialogComponent, typeof PostureChecksPageComponent, typeof PostureChecksListPageComponent, typeof PostureCheckFormComponent, typeof SessionsPageComponent, typeof SessionsListPageComponent, typeof SessionFormComponent, typeof APISessionsPageComponent, typeof APISessionsListPageComponent, typeof APISessionFormComponent, typeof CallbackComponent, typeof ProgressMeterComponent, typeof ProgressWizardComponent, typeof SettingsComponent, typeof ProfileComponent, typeof GeolocateComponent, typeof MapLegendComponent, typeof EntityCountLegendComponent, typeof CircuitHopsTableComponent, typeof RouterPathTableComponent, typeof GeolocateFilterBarComponent, typeof SidePanelContainerComponent, typeof MarkerPanelComponent, typeof LinkPanelComponent, typeof CircuitPanelComponent, typeof EntityListPanelComponent, typeof UnlocatedPanelComponent, typeof ServicesWithCircuitsPanelComponent, typeof HaStatusIndicatorComponent, typeof AttributesComponent, typeof SideNavigatorComponent, typeof HeaderBarComponent, typeof QuickAddComponent, typeof DateRangeQuickHeaderComponent, typeof FilterSelectComponent, typeof FilterSelectOptionTemplateDirective, typeof FilterSelectTriggerTemplateDirective], [typeof i2.CommonModule, typeof ConfigBuilderModule, typeof i3.FormsModule, typeof i139.MatDialogModule, typeof i140.MatRadioModule, typeof ZacRoutingModule, typeof i142.MatDatepickerModule, typeof i143.MatNativeDateModule, typeof i144.MatFormFieldModule, typeof i145.MatInputModule, typeof i146.MatSelectModule, typeof i147.MatButtonModule, typeof i148.MatIconModule, typeof i149.OverlayModule, typeof i150.DragDropModule, typeof i151.AgGridModule, typeof i152.QRCodeComponent, typeof i153.ClickOutsideDirective, typeof i4.MatTooltipModule, typeof i155.MatAutocompleteModule, typeof i156.LottieComponent, typeof DateTimePickerComponent, typeof i153.ListTableComponent, typeof i153.ListMenuComponent, typeof i153.ListTableAutoRefreshComponent, typeof i153.SelectCellComponent, typeof i153.ListHeaderCellComponent, typeof i153.ListFilterCellComponent, typeof i153.NoItemsComponent], [typeof ExtendableComponent, typeof SideNavbarComponent, typeof StringInputComponent, typeof SelectorInputComponent, typeof PasswordInputComponent, typeof NumberInputComponent, typeof BooleanToggleInputComponent, typeof ObjectComponent, typeof TextListInputComponent, typeof ChipsInputComponent, typeof IdentityServicePathComponent, typeof NetworkVisualizerComponent, typeof CheckboxListInputComponent, typeof ProtocolAddressPortInputComponent, typeof ConfigurationsPageComponent, typeof ConfigurationsListPageComponent, typeof ConfigurationFormComponent, typeof ConfigTypesPageComponent, typeof ConfigTypesListPageComponent, typeof ConfigTypeFormComponent, typeof EdgeRouterFormComponent, typeof TransitRouterFormComponent, typeof IdentitiesPageComponent, typeof IdentitiesListPageComponent, typeof EdgeRoutersPageComponent, typeof EdgeRoutersListPageComponent, typeof TransitRoutersPageComponent, typeof TransitRoutersListPageComponent, typeof ServicesPageComponent, typeof ServicesListPageComponent, typeof ZacRoutingModule, typeof SideModalComponent, typeof IdentityFormComponent, typeof LoadingIndicatorComponent, typeof GrowlerModule, typeof FormFieldContainerComponent, typeof FormFieldToggleComponent, typeof ServiceFormComponent, typeof ServicePoliciesPageComponent, typeof ServicePoliciesListPageComponent, typeof ServicePolicyFormComponent, typeof EdgeRouterPoliciesPageComponent, typeof EdgeRouterPoliciesListPageComponent, typeof TerminatorsPageComponent, typeof TerminatorsListPageComponent, typeof TerminatorFormComponent, typeof JwtSignersPageComponent, typeof JwtSignersListPageComponent, typeof JwtSignerFormComponent, typeof AuthPoliciesPageComponent, typeof AuthPoliciesListPageComponent, typeof AuthPolicyFormComponent, typeof LoginDialogComponent, typeof PostureChecksPageComponent, typeof PostureChecksListPageComponent, typeof PostureCheckFormComponent, typeof SessionsPageComponent, typeof SessionsListPageComponent, typeof SessionFormComponent, typeof APISessionsPageComponent, typeof APISessionsListPageComponent, typeof APISessionFormComponent, typeof CallbackComponent, typeof FormHeaderComponent, typeof JsonViewComponent, typeof PreviewListComponent, typeof TagSelectorComponent, typeof ProgressMeterComponent, typeof ProgressWizardComponent, typeof ConfigEditorComponent, typeof SettingsComponent, typeof ProfileComponent, typeof GeolocateComponent, typeof AttributesComponent, typeof HeaderBarComponent, typeof SideNavigatorComponent, typeof FilterSelectComponent, typeof FilterSelectOptionTemplateDirective, typeof FilterSelectTriggerTemplateDirective, typeof i153.ListTableComponent, typeof ListTableHeaderComponent, typeof i153.ListTableAutoRefreshComponent]>;
9312
8855
  static ɵinj: i0.ɵɵInjectorDeclaration<OpenZitiConsoleLibModule>;
9313
8856
  }
9314
8857
 
@@ -9541,6 +9084,6 @@ declare const ZAC_VERSION: {
9541
9084
  version: string;
9542
9085
  };
9543
9086
 
9544
- export { APISessionFormComponent, APISessionsPageComponent, API_RESOURCE_TO_ENTITY_PERMISSION, ApiSessionsPageService, AttributeCellComponent, AttributesComponent, AuthPoliciesPageComponent, AuthPoliciesPageService, AuthPolicyFormComponent, AuthPolicyFormService, AuthService, BooleanCellComponent, BooleanToggleInputComponent, CallbackComponent, CardListComponent, CertificateAuthoritiesPageComponent, CertificateAuthoritiesPageService, CertificateAuthorityFormComponent, CertificateAuthorityFormService, CheckboxListInputComponent, ChipsInputComponent, ConfigBuilderComponent, ConfigBuilderModule, ConfigEditorComponent, ConfigTypeFormComponent, ConfigTypesPageComponent, ConfigurationFormComponent, ConfigurationService, ConfigurationsPageComponent, CsvDownloadService, DEACTIVATE_GUARD, DEFAULT_APP_CONFIG, DataTableFilterService, DeactivateGuardService, EDGE_ROUTER_EXTENSION_SERVICE, EDGE_ROUTER_POLICY_EXTENSION_SERVICE, EdgeRouter, EdgeRouterFormComponent, EdgeRouterFormService, EdgeRouterPoliciesListPageComponent, EdgeRouterPoliciesPageComponent, EdgeRouterPoliciesPageService, EdgeRouterPolicyFormComponent, EdgeRouterPolicyFormService, EdgeRoutersPageComponent, EdgeRoutersPageService, Entity, ExtendableComponent, ExtensionsNoopService, FilterSelectComponent, FilterSelectOptionTemplateDirective, FilterSelectTriggerTemplateDirective, FormFieldContainerComponent, FormFieldToggleComponent, FormHeaderComponent, GeolocateComponent, GrowlerComponent, GrowlerModel, GrowlerModule, GrowlerService, HAControllerService, HaStatusIndicatorComponent, HeaderBarComponent, IDENTITY_EXTENSION_SERVICE, IdentitiesListPageComponent, IdentitiesPageComponent, IdentitiesPageService, Identity$1 as Identity, IdentityFormComponent, IdentityFormService, IdentityServicePathComponent, InsecureContextError, JsonViewComponent, JwtSignerFormComponent, JwtSignerFormService, JwtSignersPageComponent, JwtSignersPageService, KEY_CODES, ListFilterCellComponent, ListHeaderCellComponent, ListMenuComponent, ListPageComponent, ListPageServiceClass, ListTableAutoRefreshComponent, ListTableComponent, ListTableHeaderComponent, ListTableService, LoadingIndicatorComponent, LoggerService, LoginDialogComponent, LoginServiceClass, ManagementPermissionsService, NameCellComponent, NetworkVisualizerComponent, NodeDataService, NoopLoginService, NoopTabInterceptorService, NumberInputComponent, OIDC_CLIENT_ID, OIDC_CLIENT_ID_LEGACY, ObjectComponent, OidcEnvironmentalError, OidcSessionUnrecoverableError, OpenZitiConsoleLibModule, OsInfoTooltipComponent, PasswordInputComponent, PostureCheckFormComponent, PostureChecksListPageComponent, PostureChecksPageComponent, PostureChecksPageService, PreviewListComponent, ProfileComponent, ProgressMeterComponent, ProgressMeterStep, ProgressWizardComponent, ProgressWizardStep, ProjectableForm, ProtocolAddressPortInputComponent, QuickAddComponent, ResetEnrollmentService, SAVE_DENIED_BY_PERMISSION_TOOLTIP, SERVICE_EDGE_ROUTER_POLICY_EXTENSION_SERVICE, SERVICE_EXTENSION_SERVICE, SERVICE_POLICY_EXTENSION_SERVICE, SETTINGS_SERVICE, SHAREDZ_EXTENSION, SdkInfoTooltipComponent, SelectCellComponent, SelectorInputComponent, ServiceEdgeRouterPoliciesListPageComponent, ServiceEdgeRouterPoliciesPageComponent, ServiceEdgeRouterPoliciesPageService, ServiceEdgeRouterPolicyFormComponent, ServiceEdgeRouterPolicyFormService, ServiceFormComponent, ServiceFormService, ServicePoliciesListPageComponent, ServicePoliciesPageComponent, ServicePoliciesPageService, ServicePolicyFormComponent, ServicePolicyFormService, ServicesPageComponent, ServicesPageService, Session, SessionFormComponent, SessionRefreshService, SessionsPageComponent, SessionsPageService, SettingsComponent, SettingsService, SettingsServiceClass, SideModalComponent, SideNavbarComponent, SideNavigatorComponent, SimpleServiceComponent, StringInputComponent, TabNameService, TagSelectorComponent, TerminatorFormComponent, TerminatorFormService, TerminatorsPageComponent, TerminatorsPageService, TextListInputComponent, TokenCellComponent, TransitRouterFormComponent, TransitRouterFormService, TransitRoutersPageComponent, TransitRoutersPageService, ValidationService, VerifyCertificateComponent, VisualizerServiceClass, ZAC_LOGIN_SERVICE, ZAC_VERSION, ZITI_DATA_SERVICE, ZITI_DOMAIN_CONTROLLER, ZITI_NAVIGATOR, ZITI_TAB_OVERRIDES, ZITI_URLS, ZacRoutingModule, ZitiControllerDataService, ZitiDataService, ZitiOidcService, decodeJwtPayload, jwtExpMs, jwtIatMs, pkceChallengeS256, playerFactory, randomUrlSafeString };
9545
- export type { CanComponentDeactivate, ExtensionEvent, ExtensionEventType, ExtensionService, FilterObj, HAClusterStatus, HAController, ListCell, ListCellContext, ListColumn, ListLegacyCellShim, ListMenuItem, ListSortDir, ListTableOptions, ListTableToolbarOptions, OidcAuthContext, OidcLoginStep, OidcTokenSet, RefreshInterval, TabInterceptorService, ToolbarControlOptions, TreeVariant, ZitiDomainControllerService, ZitiSessionData };
9087
+ export { APISessionFormComponent, APISessionsListPageComponent, APISessionsPageComponent, API_RESOURCE_TO_ENTITY_PERMISSION, ApiSessionsPageService, AttributeCellComponent, AttributesComponent, AuthPoliciesListPageComponent, AuthPoliciesPageComponent, AuthPoliciesPageService, AuthPolicyFormComponent, AuthPolicyFormService, AuthService, BooleanCellComponent, BooleanToggleInputComponent, CallbackComponent, CardListComponent, CertificateAuthoritiesListPageComponent, CertificateAuthoritiesPageComponent, CertificateAuthoritiesPageService, CertificateAuthorityFormComponent, CertificateAuthorityFormService, CheckboxListInputComponent, ChipsInputComponent, ConfigBuilderComponent, ConfigBuilderModule, ConfigEditorComponent, ConfigTypeFormComponent, ConfigTypesListPageComponent, ConfigTypesPageComponent, ConfigurationFormComponent, ConfigurationService, ConfigurationsListPageComponent, ConfigurationsPageComponent, CsvDownloadService, DEACTIVATE_GUARD, DEFAULT_APP_CONFIG, DeactivateGuardService, EDGE_ROUTER_EXTENSION_SERVICE, EDGE_ROUTER_POLICY_EXTENSION_SERVICE, EdgeRouter, EdgeRouterFormComponent, EdgeRouterFormService, EdgeRouterPoliciesListPageComponent, EdgeRouterPoliciesPageComponent, EdgeRouterPoliciesPageService, EdgeRouterPolicyFormComponent, EdgeRouterPolicyFormService, EdgeRoutersListPageComponent, EdgeRoutersPageComponent, EdgeRoutersPageService, Entity, ExtendableComponent, ExtensionsNoopService, FilterSelectComponent, FilterSelectOptionTemplateDirective, FilterSelectTriggerTemplateDirective, FormFieldContainerComponent, FormFieldToggleComponent, FormHeaderComponent, GeolocateComponent, GrowlerComponent, GrowlerModel, GrowlerModule, GrowlerService, HAControllerService, HaStatusIndicatorComponent, HeaderBarComponent, IDENTITY_EXTENSION_SERVICE, IdentitiesListPageComponent, IdentitiesPageComponent, IdentitiesPageService, Identity$1 as Identity, IdentityFormComponent, IdentityFormService, IdentityServicePathComponent, InsecureContextError, JsonViewComponent, JwtSignerFormComponent, JwtSignerFormService, JwtSignersListPageComponent, JwtSignersPageComponent, JwtSignersPageService, KEY_CODES, ListPageComponent, ListPageServiceClass, ListTableHeaderComponent, LoadingIndicatorComponent, LoggerService, LoginDialogComponent, LoginServiceClass, ManagementPermissionsService, NameCellComponent, NetworkVisualizerComponent, NodeDataService, NoopLoginService, NoopTabInterceptorService, NumberInputComponent, OIDC_CLIENT_ID, OIDC_CLIENT_ID_LEGACY, ObjectComponent, OidcEnvironmentalError, OidcSessionUnrecoverableError, OpenZitiConsoleLibModule, OsInfoTooltipComponent, PasswordInputComponent, PostureCheckFormComponent, PostureChecksListPageComponent, PostureChecksPageComponent, PostureChecksPageService, PreviewListComponent, ProfileComponent, ProgressMeterComponent, ProgressMeterStep, ProgressWizardComponent, ProgressWizardStep, ProjectableForm, ProtocolAddressPortInputComponent, QuickAddComponent, ResetEnrollmentService, SAVE_DENIED_BY_PERMISSION_TOOLTIP, SERVICE_EDGE_ROUTER_POLICY_EXTENSION_SERVICE, SERVICE_EXTENSION_SERVICE, SERVICE_POLICY_EXTENSION_SERVICE, SETTINGS_SERVICE, SHAREDZ_EXTENSION, SdkInfoTooltipComponent, SelectorInputComponent, ServiceEdgeRouterPoliciesListPageComponent, ServiceEdgeRouterPoliciesPageComponent, ServiceEdgeRouterPoliciesPageService, ServiceEdgeRouterPolicyFormComponent, ServiceEdgeRouterPolicyFormService, ServiceFormComponent, ServiceFormService, ServicePoliciesListPageComponent, ServicePoliciesPageComponent, ServicePoliciesPageService, ServicePolicyFormComponent, ServicePolicyFormService, ServicesListPageComponent, ServicesPageComponent, ServicesPageService, Session, SessionFormComponent, SessionRefreshService, SessionsListPageComponent, SessionsPageComponent, SessionsPageService, SettingsComponent, SettingsService, SettingsServiceClass, SideModalComponent, SideNavbarComponent, SideNavigatorComponent, SimpleServiceComponent, StringInputComponent, TabNameService, TagSelectorComponent, TerminatorFormComponent, TerminatorFormService, TerminatorsListPageComponent, TerminatorsPageComponent, TerminatorsPageService, TextListInputComponent, TokenCellComponent, TransitRouterFormComponent, TransitRouterFormService, TransitRoutersListPageComponent, TransitRoutersPageComponent, TransitRoutersPageService, ValidationService, VerifyCertificateComponent, VisualizerServiceClass, ZAC_LOGIN_SERVICE, ZAC_VERSION, ZITI_DATA_SERVICE, ZITI_DOMAIN_CONTROLLER, ZITI_NAVIGATOR, ZITI_TAB_OVERRIDES, ZITI_URLS, ZacRoutingModule, ZitiControllerDataService, ZitiDataService, ZitiOidcService, decodeJwtPayload, jwtExpMs, jwtIatMs, pkceChallengeS256, randomUrlSafeString };
9088
+ export type { CanComponentDeactivate, ExtensionEvent, ExtensionEventType, ExtensionService, HAClusterStatus, HAController, OidcAuthContext, OidcLoginStep, OidcTokenSet, TabInterceptorService, ZitiDomainControllerService, ZitiSessionData };
9546
9089
  //# sourceMappingURL=index.d.ts.map