@openziti/ziti-console-lib 1.5.1 → 1.5.3

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,8 +1,8 @@
1
1
  import * as lottie_web from 'lottie-web';
2
2
  import * as i0 from '@angular/core';
3
- import { PipeTransform, EventEmitter, InjectionToken, ViewContainerRef, ElementRef, OnInit, DoCheck, OnDestroy, AfterViewInit, ChangeDetectorRef, OnChanges, SimpleChanges, TemplateRef, Injector } from '@angular/core';
3
+ import { PipeTransform, EventEmitter, InjectionToken, ViewContainerRef, ElementRef, OnInit, DoCheck, OnDestroy, AfterViewInit, Type, AfterViewChecked, NgZone, ChangeDetectorRef, OnChanges, SimpleChanges, TemplateRef, Injector } from '@angular/core';
4
4
  import * as _angular_platform_browser from '@angular/platform-browser';
5
- import { DomSanitizer } from '@angular/platform-browser';
5
+ import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
6
6
  import * as rxjs from 'rxjs';
7
7
  import { BehaviorSubject, Subject, Subscription, Observable } from 'rxjs';
8
8
  import * as lodash from 'lodash';
@@ -15,34 +15,36 @@ import { NGXLogger } from 'ngx-logger';
15
15
  import { HttpBackend, HttpClient } from '@angular/common/http';
16
16
  import * as i2 from '@angular/common';
17
17
  import { Location } from '@angular/common';
18
- import * as i116 from '@angular/material/dialog';
18
+ import * as i128 from '@angular/material/dialog';
19
19
  import { MatDialog, MatDialogRef } from '@angular/material/dialog';
20
20
  import moment from 'moment/moment';
21
- import * as i127 from 'ag-grid-angular';
21
+ import * as i140 from 'ag-grid-angular';
22
22
  import { IHeaderAngularComp, ICellRendererAngularComp, ITooltipAngularComp } from 'ag-grid-angular';
23
23
  import { IHeaderParams, ICellRendererParams, ITooltipParams } from 'ag-grid-community';
24
- import * as i130 from 'ang-jsoneditor';
24
+ import * as i139 from '@angular/cdk/drag-drop';
25
+ import { CdkDragDrop } from '@angular/cdk/drag-drop';
26
+ import * as i143 from 'ang-jsoneditor';
25
27
  import { JsonEditorComponent } from 'ang-jsoneditor';
26
- import * as i119 from '@angular/material/datepicker';
28
+ import * as i131 from '@angular/material/datepicker';
27
29
  import { MatCalendar, MatDateRangePicker } from '@angular/material/datepicker';
28
- import * as i120 from '@angular/material/core';
30
+ import * as i132 from '@angular/material/core';
29
31
  import { DateAdapter } from '@angular/material/core';
30
- import * as i133 from 'ngx-lottie';
32
+ import * as i146 from 'ngx-lottie';
31
33
  import { AnimationOptions } from 'ngx-lottie';
32
- import * as i123 from '@angular/material/select';
34
+ import * as i135 from '@angular/material/select';
33
35
  import { MatSelect } from '@angular/material/select';
34
36
  import { OAuthService } from 'angular-oauth2-oidc';
35
37
  import moment$1 from 'moment';
36
- import * as i117 from '@angular/material/radio';
37
- import * as i121 from '@angular/material/form-field';
38
- import * as i122 from '@angular/material/input';
39
- import * as i124 from '@angular/material/button';
40
- import * as i125 from '@angular/material/icon';
41
- import * as i126 from '@angular/cdk/overlay';
42
- import * as i128 from 'angularx-qrcode';
43
- import * as i129 from 'ng-click-outside';
44
- import * as i131 from '@angular/material/tooltip';
45
- import * as i132 from '@angular/material/autocomplete';
38
+ import * as i129 from '@angular/material/radio';
39
+ import * as i133 from '@angular/material/form-field';
40
+ import * as i134 from '@angular/material/input';
41
+ import * as i136 from '@angular/material/button';
42
+ import * as i137 from '@angular/material/icon';
43
+ import * as i138 from '@angular/cdk/overlay';
44
+ import * as i141 from 'angularx-qrcode';
45
+ import * as i142 from 'ng-click-outside';
46
+ import * as i144 from '@angular/material/tooltip';
47
+ import * as i145 from '@angular/material/autocomplete';
46
48
 
47
49
  declare class SafePipe implements PipeTransform {
48
50
  private sanitized;
@@ -478,15 +480,20 @@ declare class DataTableFilterService {
478
480
  private activatedRoute;
479
481
  filters: FilterObj[];
480
482
  currentPage: number;
483
+ /** Rows requested per page. Defaults to the legacy page size; the list-table's
484
+ * rows-per-page control changes it via {@link changePageSize}. */
485
+ pageSize: number;
481
486
  filtersChanged: BehaviorSubject<FilterObj[]>;
482
487
  filtering: BehaviorSubject<boolean>;
483
488
  pageChanged: BehaviorSubject<any>;
489
+ pageSizeChanged: BehaviorSubject<number>;
484
490
  currentQueryParams: any[];
485
491
  constructor(location: Location, router: Router, activatedRoute: ActivatedRoute);
486
492
  updateFilter(filterObj: FilterObj): void;
487
493
  removeFilter(filterObj: FilterObj): void;
488
494
  getFilterString(key: string): string;
489
495
  changePage(page: any): void;
496
+ changePageSize(size: number): void;
490
497
  clearFilters(): void;
491
498
  storeFilters(): void;
492
499
  getStoredFilters(): any;
@@ -1004,7 +1011,7 @@ declare abstract class ListPageServiceClass {
1004
1011
  protected extensionService: ExtensionService;
1005
1012
  protected router?: Router;
1006
1013
  abstract initTableColumns(): any[];
1007
- abstract getData(filters?: FilterObj[], sort?: any, page?: any): Promise<any[]>;
1014
+ abstract getData(filters?: FilterObj[], sort?: any, page?: any, pageSize?: number): Promise<any[]>;
1008
1015
  abstract openUpdate(entity?: any): any;
1009
1016
  abstract resourceType: string;
1010
1017
  CSV_COLUMNS: {
@@ -1225,6 +1232,383 @@ declare class TabNameService {
1225
1232
  static ɵprov: i0.ɵɵInjectableDeclaration<TabNameService>;
1226
1233
  }
1227
1234
 
1235
+ type ListSortDir = 'asc' | 'desc' | undefined;
1236
+ /**
1237
+ * Context handed to component-cell input mappers.
1238
+ */
1239
+ interface ListCellContext<T = any> {
1240
+ row: T;
1241
+ value: any;
1242
+ colId: string;
1243
+ rowIndex: number;
1244
+ /** Emit a row action (flows to the table's `actionRequested` → the page handler). */
1245
+ emitAction: (action: string, item?: any) => void;
1246
+ }
1247
+ /**
1248
+ * Shim shape passed to legacy `cellHtml` / `valueFormatter` functions so the existing
1249
+ * ag-grid-era renderer bodies (which read `row.data`, `row.column.colId`, `row.value`)
1250
+ * keep working unchanged.
1251
+ */
1252
+ interface ListLegacyCellShim {
1253
+ data: any;
1254
+ value?: any;
1255
+ column: {
1256
+ colId: string;
1257
+ };
1258
+ rowIndex?: number;
1259
+ }
1260
+ /**
1261
+ * Declarative column definition for {@link ListTableComponent}. Replaces the ag-grid
1262
+ * `ColDef` shape used by the legacy `lib-data-table`. Rendering precedence for a cell is:
1263
+ * `cell` (a component) > `cellHtml` (sanitized markup) > `valueFormatter` (plain text) >
1264
+ * the raw value at `field`.
1265
+ */
1266
+ interface ListColumn<T = any> {
1267
+ /** Stable column id (was ag-grid `colId`). Used for persistence + tracking. */
1268
+ key: string;
1269
+ /** Dot-path used to read the raw value from a row. Defaults to `key`. */
1270
+ field?: string;
1271
+ /** Header label (was ag-grid `headerName`). */
1272
+ label: string;
1273
+ /** Component class rendered in each cell, hosted via NgComponentOutlet. */
1274
+ cell?: Type<any>;
1275
+ /** Maps a row to the `@Input()`s of the `cell` component. */
1276
+ cellInputs?: (ctx: ListCellContext<T>) => Record<string, unknown>;
1277
+ /** Returns sanitized HTML for the cell (legacy string renderers). */
1278
+ cellHtml?: (shim: ListLegacyCellShim) => string;
1279
+ /** Returns plain text for the cell. */
1280
+ valueFormatter?: (shim: ListLegacyCellShim) => string;
1281
+ /** Initial width in px. Omit to let the column flex to fill available space. */
1282
+ width?: number;
1283
+ minWidth?: number;
1284
+ /** Defaults to true. */
1285
+ resizable?: boolean;
1286
+ /** Extra class(es) applied to every cell in the column. */
1287
+ cellClass?: string;
1288
+ sortable?: boolean;
1289
+ /** Convenience flag mirrored from legacy `headerComponentParams.enableSorting`. */
1290
+ enableSorting?: boolean;
1291
+ sortDir?: ListSortDir;
1292
+ /** Called on header sort click with the resolved direction (was `sortColumn`). */
1293
+ onSort?: (colId: string, dir: ListSortDir) => void;
1294
+ /** Called on cell click (was ag-grid `onCellClicked`). */
1295
+ onCellClick?: (ctx: ListCellContext<T>) => void;
1296
+ filterType?: 'TEXTINPUT' | 'SELECT' | 'COMBO' | 'DATETIME' | 'ATTRIBUTE' | 'CUSTOM' | string;
1297
+ /** API field the filter queries. Defaults to `field` then `key`. Use when the
1298
+ * display field differs from the filterable field (e.g. key `os` → `envInfo.os`,
1299
+ * key `type` (display `type.name`) → `typeId`). */
1300
+ filterField?: string;
1301
+ /** Placeholder shown in the filter-row control when nothing is selected. */
1302
+ filterPlaceholder?: string;
1303
+ filterOptions?: any[];
1304
+ getFilterOptions?: () => any[];
1305
+ /** Extra params for the filter controls (attribute getters, combo options, etc.). */
1306
+ headerParams?: Record<string, any>;
1307
+ /** Component class rendered as a hover tooltip. */
1308
+ tooltip?: Type<any>;
1309
+ tooltipInputs?: (ctx: ListCellContext<T>) => Record<string, unknown>;
1310
+ /** Defaults to true. When false the column cannot be hidden. */
1311
+ hideable?: boolean;
1312
+ /** Defaults to true. When false the column cannot be drag-reordered. */
1313
+ reorderable?: boolean;
1314
+ /** Initial visibility (was ag-grid `hide`). */
1315
+ hidden?: boolean;
1316
+ }
1317
+ /**
1318
+ * Optional base interface for component cells hosted by {@link ListTableComponent}.
1319
+ * The table sets whatever `@Input()`s a column's `cellInputs` returns; implementing this
1320
+ * is not required but documents the common ones.
1321
+ */
1322
+ interface ListCell<T = any> {
1323
+ row?: T;
1324
+ value?: any;
1325
+ }
1326
+
1327
+ /**
1328
+ * Per-instance state + localStorage persistence for {@link ListTableComponent}.
1329
+ * Reuses the legacy `ziti_<tableId>_table_state` / `_column_widths` keys so saved
1330
+ * layouts carry over; unknown (ag-only) fields are ignored.
1331
+ */
1332
+ declare class ListTableService {
1333
+ tableId: string;
1334
+ /** Coordinates the toolbar dropdowns so only one (filter pill or column chooser)
1335
+ * is open at a time. Openers emit themselves; others close when they see an
1336
+ * owner that isn't them. */
1337
+ private readonly menuOpenedSubject;
1338
+ readonly menuOpened$: rxjs.Observable<unknown>;
1339
+ notifyMenuOpened(owner: unknown): void;
1340
+ private stateKey;
1341
+ private widthsKey;
1342
+ /**
1343
+ * Returns a shallow-cloned copy of `columns` with any persisted width, visibility,
1344
+ * and order applied. Columns not present in the saved state keep their declared
1345
+ * position (appended after the saved ones).
1346
+ */
1347
+ applyPersistedState(columns: ListColumn[]): ListColumn[];
1348
+ /** Persists the current order + visibility (and widths embedded in each entry). */
1349
+ saveState(columns: ListColumn[]): void;
1350
+ /** Persists a single column's width, then rewrites the ordered state. */
1351
+ saveWidth(colId: string, width: number, columns: ListColumn[]): void;
1352
+ /** Clears all persisted layout for this table ("Restore Default Table"). */
1353
+ reset(): void;
1354
+ static ɵfac: i0.ɵɵFactoryDeclaration<ListTableService, never>;
1355
+ static ɵprov: i0.ɵɵInjectableDeclaration<ListTableService>;
1356
+ }
1357
+
1358
+ /**
1359
+ * A single row in a {@link ListMenuComponent}.
1360
+ *
1361
+ * `action` is the identifier the host dispatches on; `data` carries the original
1362
+ * domain object (menu item / header action / filter option) so the host can act
1363
+ * on it without the menu needing to know its shape.
1364
+ */
1365
+ interface ListMenuItem {
1366
+ /** Visible text. */
1367
+ label: string;
1368
+ /** Identifier emitted back to the host on click. */
1369
+ action: string;
1370
+ /** Optional icon class(es) rendered before the label. */
1371
+ icon?: string;
1372
+ /** Optional sanitized SVG rendered before the label (takes precedence over `icon`). */
1373
+ iconSvg?: SafeHtml;
1374
+ /** When true the row is present but visually removed (keeps list order stable). */
1375
+ hidden?: boolean;
1376
+ /** When true the row is shown but not clickable. */
1377
+ disabled?: boolean;
1378
+ /** Optional element id (preserves existing automation hooks). */
1379
+ id?: string;
1380
+ /** Original domain object this row was built from. */
1381
+ data?: any;
1382
+ }
1383
+ /**
1384
+ * Generic, theme-driven action menu popover. Presentational only: the host owns
1385
+ * open state and position and handles `(itemClick)` / `(closed)`.
1386
+ */
1387
+ declare class ListMenuComponent {
1388
+ /** Whether the menu is rendered. */
1389
+ open: boolean;
1390
+ /** Rows to render. */
1391
+ items: ListMenuItem[];
1392
+ /** Fixed-position left offset (px). */
1393
+ left: number;
1394
+ /** Fixed-position top offset (px). */
1395
+ top: number;
1396
+ /** Optional id for the menu container (automation hook). */
1397
+ menuId?: string;
1398
+ /** Emitted when a clickable row is selected. */
1399
+ itemClick: EventEmitter<{
1400
+ item: ListMenuItem;
1401
+ event: MouseEvent;
1402
+ }>;
1403
+ /** Emitted when the user clicks outside the open menu. */
1404
+ closed: EventEmitter<Event>;
1405
+ onItem(item: ListMenuItem, event: MouseEvent): void;
1406
+ onClickOutside(event: Event): void;
1407
+ trackItem: (_: number, item: ListMenuItem) => string;
1408
+ static ɵfac: i0.ɵɵFactoryDeclaration<ListMenuComponent, never>;
1409
+ 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>;
1410
+ }
1411
+
1412
+ /**
1413
+ * Custom, token-skinnable list table. Columns are declared with {@link ListColumn};
1414
+ * sort, filter, and pagination flow through {@link DataTableFilterService}.
1415
+ */
1416
+ declare class ListTableComponent implements OnInit, AfterViewInit, AfterViewChecked, OnDestroy {
1417
+ svc: ListTableService;
1418
+ private tableFilterService;
1419
+ private el;
1420
+ private ngZone;
1421
+ private sanitizer;
1422
+ set tableId(id: string);
1423
+ get tableId(): string;
1424
+ private _tableId;
1425
+ set columns(value: ListColumn[]);
1426
+ rowData: any[];
1427
+ isLoading: boolean;
1428
+ options: {
1429
+ noSelect?: boolean;
1430
+ noMenu?: boolean;
1431
+ };
1432
+ startCount: any;
1433
+ endCount: any;
1434
+ totalCount: any;
1435
+ filterApplied: boolean;
1436
+ menuItems: any[];
1437
+ headerActions: any[];
1438
+ noItemsImage: string;
1439
+ showNoItemsAdd: boolean;
1440
+ noItemsReadonly: boolean;
1441
+ accessDenied: boolean;
1442
+ entityTypeName: string;
1443
+ filterName: string;
1444
+ filterColumn: string;
1445
+ actionRequested: EventEmitter<{
1446
+ action: string;
1447
+ item?: any;
1448
+ }>;
1449
+ tableReady: EventEmitter<any>;
1450
+ contextMenu?: ElementRef;
1451
+ filterZone?: ElementRef<HTMLElement>;
1452
+ filtersRow?: ElementRef<HTMLElement>;
1453
+ /** Full column list (includes hidden), after persisted state. */
1454
+ allColumns: ListColumn[];
1455
+ /** Currently rendered columns (visible + ordered). */
1456
+ visibleColumns: ListColumn[];
1457
+ /** Hidden columns, shaped for the shared hidden-columns bar (`headerName`). */
1458
+ hiddenColumns: any[];
1459
+ entityTypeLabel: string;
1460
+ openMenu: boolean;
1461
+ openHeaderMenu: boolean;
1462
+ menuLeft: number;
1463
+ menuTop: number;
1464
+ selectedItem: any;
1465
+ allToggled: boolean;
1466
+ showColumnChooser: boolean;
1467
+ searchString: string;
1468
+ activeFilters: FilterObj[];
1469
+ filtering: boolean;
1470
+ private inputChangedDebounced;
1471
+ visibleFilterColumns: ListColumn[];
1472
+ overflowFilterColumns: ListColumn[];
1473
+ showFilterOverflow: boolean;
1474
+ private filterWidths;
1475
+ private filtersDirty;
1476
+ private filterRO?;
1477
+ private observedToolbar?;
1478
+ private overflowRaf;
1479
+ private readonly FILTER_GAP;
1480
+ private readonly MORE_BTN_W;
1481
+ private resizing?;
1482
+ private readonly onPointerMove;
1483
+ private readonly onPointerUp;
1484
+ private _rawColumns;
1485
+ private _initialColumns;
1486
+ private _initialized;
1487
+ private subscription;
1488
+ constructor(svc: ListTableService, tableFilterService: DataTableFilterService, el: ElementRef, ngZone: NgZone, sanitizer: DomSanitizer);
1489
+ ngOnInit(): void;
1490
+ ngAfterViewInit(): void;
1491
+ ngAfterViewChecked(): void;
1492
+ ngOnDestroy(): void;
1493
+ get showTable(): boolean;
1494
+ /** Columns surfaced as inline filter controls in the toolbar. Text filters are
1495
+ * excluded because the free-text search box already covers the primary text field. */
1496
+ get filterableColumns(): ListColumn[];
1497
+ /** A filter column is "active" when it has an applied filter. */
1498
+ isFilterActive(col: ListColumn): boolean;
1499
+ /** Applied filters that are currently hidden in the overflow dropdown. */
1500
+ get hiddenActiveCount(): number;
1501
+ toggleFilterOverflow(event: MouseEvent): void;
1502
+ closeFilterOverflow(event?: Event): void;
1503
+ private ensureFilterResizeObserver;
1504
+ private scheduleFilterOverflow;
1505
+ private recomputeFilterOverflow;
1506
+ /** Split filter controls into inline vs. overflow, pinning active filters and
1507
+ * dropping inactive (then, only if forced, active) from the right until they fit. */
1508
+ private applyFilterSplit;
1509
+ private buildColumns;
1510
+ private updateVisible;
1511
+ trackRow: (index: number, row: any) => any;
1512
+ trackCol: (index: number, col: ListColumn) => string;
1513
+ colWidth(col: ListColumn): string | null;
1514
+ private rawValue;
1515
+ private cellContext;
1516
+ private legacyShim;
1517
+ renderMode(col: ListColumn): 'component' | 'html' | 'text';
1518
+ cellInputs(col: ListColumn, row: any, i: number): Record<string, unknown>;
1519
+ cellHtml(col: ListColumn, row: any, i: number): string;
1520
+ cellText(col: ListColumn, row: any, i: number): any;
1521
+ cellClass(col: ListColumn): string;
1522
+ onCellClick(col: ListColumn, row: any, i: number): void;
1523
+ tooltipInputs(col: ListColumn, row: any, i: number): Record<string, unknown>;
1524
+ hoverTooltip: {
1525
+ component: Type<any>;
1526
+ inputs: Record<string, unknown>;
1527
+ left: number;
1528
+ top: number;
1529
+ } | null;
1530
+ onCellHover(col: ListColumn, row: any, i: number, event: MouseEvent): void;
1531
+ onCellLeave(): void;
1532
+ toggleItem: (item: any) => void;
1533
+ /** Some rows selected but the header select-all isn't fully on (indeterminate). */
1534
+ get someSelected(): boolean;
1535
+ toggleAll(): void;
1536
+ onHeaderSort(event: {
1537
+ colId: string;
1538
+ dir: ListSortDir;
1539
+ }): void;
1540
+ hideColumn(col: ListColumn): void;
1541
+ showColumn(event: {
1542
+ column: any;
1543
+ visible: boolean;
1544
+ }): void;
1545
+ onReorder(event: CdkDragDrop<ListColumn[]>): void;
1546
+ resetTableColumns(): void;
1547
+ /** Count of columns the user has hidden beyond the defaults (drives the badge).
1548
+ * Columns hidden by default don't count, so a fresh/default load shows no badge. */
1549
+ get hiddenColumnCount(): number;
1550
+ /** True when visibility + order match the originally declared columns. */
1551
+ get columnsAtDefault(): boolean;
1552
+ /** True when the column is hidden in the originally declared defaults. */
1553
+ isDefaultHidden(col: ListColumn): boolean;
1554
+ toggleColumnChooser(event: MouseEvent): void;
1555
+ closeColumnChooser(): void;
1556
+ toggleColumnVisible(col: ListColumn): void;
1557
+ chooserReorder(event: CdkDragDrop<ListColumn[]>): void;
1558
+ startResize(col: ListColumn, event: PointerEvent): void;
1559
+ private handleResizeMove;
1560
+ private handleResizeEnd;
1561
+ private detachResizeListeners;
1562
+ openActionMenu: (event: MouseEvent, item: any) => void;
1563
+ closeActionMenu: () => void;
1564
+ openHeaderActionMenu(event: MouseEvent): void;
1565
+ hideMenuItem(menuItem: any, selectedItem: any): boolean;
1566
+ closeHeaderActionMenu: () => void;
1567
+ /** Restore-default (rotate) icon for the built-in header action. */
1568
+ private readonly RESET_TABLE_ICON;
1569
+ /** Header action menu rows: the reset action followed by host-provided header actions.
1570
+ * A host action's `icon` (SVG markup) is rendered before its label, like the row menu. */
1571
+ get headerMenuItems(): ListMenuItem[];
1572
+ onHeaderMenuClick(evt: {
1573
+ item: ListMenuItem;
1574
+ event: MouseEvent;
1575
+ }): void;
1576
+ /** Row action menu rows, built from `menuItems` against the currently selected row.
1577
+ * A menu item's `icon` (SVG markup) is rendered before its label in the menu. */
1578
+ get rowMenuItems(): ListMenuItem[];
1579
+ onRowMenuClick(evt: {
1580
+ item: ListMenuItem;
1581
+ event: MouseEvent;
1582
+ }): void;
1583
+ openCreate(): void;
1584
+ onSearchInput(): void;
1585
+ private applySearch;
1586
+ nextPage(): void;
1587
+ prevPage(): void;
1588
+ get nextDisabled(): boolean;
1589
+ get prevDisabled(): boolean;
1590
+ pageSizeOptions: number[];
1591
+ get pageSize(): number;
1592
+ get currentPageNum(): number;
1593
+ get totalPages(): number;
1594
+ /** Page numbers to render, with `0` marking a gap ("..."). Shows the first and
1595
+ * last page plus a window around the current page so long lists stay compact. */
1596
+ get pageWindow(): number[];
1597
+ goToPage(page: number): void;
1598
+ onPageSizeChange(size: number): void;
1599
+ /** Re-fetch the current page (re-emits the page so the host reloads its data). */
1600
+ refresh(): void;
1601
+ autoRefresh: boolean;
1602
+ readonly autoRefreshIntervalMs = 30000;
1603
+ private autoRefreshTimer?;
1604
+ toggleAutoRefresh(): void;
1605
+ private iconCache;
1606
+ private safeIcon;
1607
+ private updateEntityTypeLabel;
1608
+ static ɵfac: i0.ɵɵFactoryDeclaration<ListTableComponent, never>;
1609
+ 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; }; "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; }; }, { "actionRequested": "actionRequested"; "tableReady": "tableReady"; }, never, never, false, never>;
1610
+ }
1611
+
1228
1612
  declare class ConsoleEventsService {
1229
1613
  refreshData: EventEmitter<any>;
1230
1614
  openSideModal: EventEmitter<any>;
@@ -1265,6 +1649,7 @@ declare abstract class ListPageComponent {
1265
1649
  dialogRef: any;
1266
1650
  modalOpen: boolean;
1267
1651
  gridObj: any;
1652
+ tableObj: any;
1268
1653
  subscription: Subscription;
1269
1654
  private growlerSvc;
1270
1655
  protected readonly managementPermissions: ManagementPermissionsService;
@@ -1284,7 +1669,18 @@ declare abstract class ListPageComponent {
1284
1669
  protected downloadAllItems(): void;
1285
1670
  protected openBulkDelete(selectedItems: any[], entityTypeLabel?: string): void;
1286
1671
  handleExtensionActions(event: any): boolean;
1672
+ /**
1673
+ * Column set loaded into the table on init. Defaults to the service's ag-grid
1674
+ * column defs (the legacy {@link DataTableComponent}). A page that renders the
1675
+ * new {@link ListTableComponent} overrides this to return the `ListColumn` set
1676
+ * instead, leaving every other page untouched.
1677
+ */
1678
+ protected loadTableColumns(): any[];
1287
1679
  gridReady(event: any): void;
1680
+ /** Ready hook for {@link ListTableComponent}; keeps the instance for extension use. */
1681
+ tableReady(event: {
1682
+ component: ListTableComponent;
1683
+ }): void;
1288
1684
  refreshCells(): void;
1289
1685
  static ɵfac: i0.ɵɵFactoryDeclaration<ListPageComponent, never>;
1290
1686
  static ɵprov: i0.ɵɵInjectableDeclaration<ListPageComponent>;
@@ -1501,6 +1897,33 @@ declare class ListPageHeaderComponent {
1501
1897
  static ɵcmp: i0.ɵɵComponentDeclaration<ListPageHeaderComponent, "lib-list-page-header", never, { "title": { "alias": "title"; "required": false; }; "tabs": { "alias": "tabs"; "required": false; }; "showAdd": { "alias": "showAdd"; "required": false; }; "hideAction": { "alias": "hideAction"; "required": false; }; "blockCreate": { "alias": "blockCreate"; "required": false; }; "blockDelete": { "alias": "blockDelete"; "required": false; }; }, { "actionClicked": "actionClicked"; }, never, never, false, never>;
1502
1898
  }
1503
1899
 
1900
+ /**
1901
+ * Header for the new list-table pages: an icon tile + title + one-line subtitle
1902
+ * (with an optional info affordance) on the left, and a primary "Create ..." action
1903
+ * on the right, over an optional tab strip. Emits the same `add` / `delete` actions
1904
+ * as {@link ListPageHeaderComponent} so pages can swap headers without changing their
1905
+ * handlers. Project the page's icon into the tile with a `header-icon` attribute.
1906
+ */
1907
+ declare class ListTableHeaderComponent {
1908
+ title: string;
1909
+ subtitle: string;
1910
+ /** Label for the primary create button, e.g. "Create Identity". */
1911
+ createLabel: string;
1912
+ /** Optional short helper text shown behind the (i) affordance next to the title. */
1913
+ infoText: string;
1914
+ tabs: any[];
1915
+ showAdd: boolean;
1916
+ /** Hide the create control even when showAdd is true. */
1917
+ blockCreate: boolean;
1918
+ /** Hide the bulk-delete control shown when rows are selected. */
1919
+ blockDelete: boolean;
1920
+ actionClicked: EventEmitter<string>;
1921
+ clickAction(value: string): void;
1922
+ tabSelected(tab: any): boolean;
1923
+ static ɵfac: i0.ɵɵFactoryDeclaration<ListTableHeaderComponent, never>;
1924
+ 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; }; }, { "actionClicked": "actionClicked"; }, never, ["[header-icon]"], false, never>;
1925
+ }
1926
+
1504
1927
  declare class FilterBarComponent {
1505
1928
  filterService: DataTableFilterService;
1506
1929
  _filters: any[];
@@ -1544,17 +1967,28 @@ declare class IdentitiesPageService extends ListPageServiceClass {
1544
1967
  menuItems: {
1545
1968
  name: string;
1546
1969
  action: string;
1970
+ icon: string;
1547
1971
  }[];
1548
1972
  tableHeaderActions: {
1549
1973
  name: string;
1550
1974
  action: string;
1975
+ icon: string;
1551
1976
  }[];
1552
1977
  resourceType: string;
1553
1978
  constructor(settings: SettingsServiceClass, filterService: DataTableFilterService, zitiService: ZitiDataService, csvDownloadService: CsvDownloadService, growlerService: GrowlerService, dialogForm: MatDialog, extService: ExtensionService, router: Router);
1554
1979
  validate: (formData: any) => Promise<CallbackResults>;
1555
1980
  initTableColumns(): any;
1981
+ /**
1982
+ * Column set for the new `lib-list-table` (the "beta" Identities page). Mirrors
1983
+ * {@link initTableColumns} but emits the declarative `ListColumn` shape instead of
1984
+ * ag-grid `ColDef`s: component cells via `cell`/`cellInputs`, legacy string
1985
+ * renderers via `cellHtml`, and header filters declared with `filterType`.
1986
+ * Loaded by {@link IdentitiesPageComponent} when the Beta Features toggle is on;
1987
+ * the legacy {@link initTableColumns} above is left untouched for the ag-grid table.
1988
+ */
1989
+ initListTableColumns(): ListColumn[];
1556
1990
  getIdentityRoleAttributes(): Promise<any>;
1557
- getData(filters?: FilterObj[], sort?: any, page?: any): Promise<any>;
1991
+ getData(filters?: FilterObj[], sort?: any, page?: any, pageSize?: number): Promise<any>;
1558
1992
  private processData;
1559
1993
  private addActionsPerRow;
1560
1994
  hasAuthenticator(item: any): any;
@@ -1577,6 +2011,12 @@ declare class IdentitiesPageService extends ListPageServiceClass {
1577
2011
  static ɵprov: i0.ɵɵInjectableDeclaration<IdentitiesPageService>;
1578
2012
  }
1579
2013
 
2014
+ /**
2015
+ * Legacy Identities page (ag-grid `lib-data-table`). Selected by the route when the
2016
+ * "Beta Features" flag is off. Slated for removal once the new list-table page (see
2017
+ * {@link IdentitiesListPageComponent}) graduates — at which point this file and its
2018
+ * template are deleted outright.
2019
+ */
1580
2020
  declare class IdentitiesPageComponent extends ListPageComponent implements OnInit, OnDestroy {
1581
2021
  svc: IdentitiesPageService;
1582
2022
  private tabNames;
@@ -1608,6 +2048,47 @@ declare class IdentitiesPageComponent extends ListPageComponent implements OnIni
1608
2048
  static ɵcmp: i0.ɵɵComponentDeclaration<IdentitiesPageComponent, "lib-identities", never, {}, {}, never, ["[slot=list-page-subheader]"], false, never>;
1609
2049
  }
1610
2050
 
2051
+ /**
2052
+ * New Identities page, rendered on the shared `lib-list-table`. Extends the common
2053
+ * {@link ListPageComponent} (which future list-table pages extend the same way).
2054
+ * Selected by the route when the "Beta Features" flag is on; the legacy ag-grid page
2055
+ * ({@link IdentitiesPageComponent}) handles the flag-off case. The two pages carry
2056
+ * their own copies of the identity actions during the migration so the legacy one can
2057
+ * be deleted outright once this graduates.
2058
+ */
2059
+ declare class IdentitiesListPageComponent extends ListPageComponent implements OnInit, OnDestroy {
2060
+ svc: IdentitiesPageService;
2061
+ private tabNames;
2062
+ private router;
2063
+ private extService;
2064
+ title: string;
2065
+ tabs: {
2066
+ url: string;
2067
+ label: string;
2068
+ }[];
2069
+ isLoading: boolean;
2070
+ formDataChanged: boolean;
2071
+ constructor(svc: IdentitiesPageService, filterService: DataTableFilterService, dialogForm: MatDialog, tabNames: TabNameService, router: Router, consoleEvents: ConsoleEventsService, extService: ExtensionService);
2072
+ /** The new table consumes the declarative ListColumn set. */
2073
+ protected loadTableColumns(): any[];
2074
+ ngOnInit(): void;
2075
+ headerActionClicked(action: string): void;
2076
+ closeModal(event?: any): void;
2077
+ dataChanged(event: any): void;
2078
+ tableAction(event: any): void;
2079
+ downloadJWT(item: any): void;
2080
+ showQRCode(item: any): void;
2081
+ trackMenuAction(action: string, item: any): void;
2082
+ deleteItem(item: any): void;
2083
+ openIdentityVisualizer(identity: any): void;
2084
+ resetEnrollment(identity: any): void;
2085
+ reissueEnrollment(identity: any): void;
2086
+ ngOnDestroy(): void;
2087
+ canDeactivate(): boolean;
2088
+ static ɵfac: i0.ɵɵFactoryDeclaration<IdentitiesListPageComponent, never>;
2089
+ static ɵcmp: i0.ɵɵComponentDeclaration<IdentitiesListPageComponent, "lib-identities-list", never, {}, {}, never, ["[slot=list-page-subheader]"], false, never>;
2090
+ }
2091
+
1611
2092
  declare class EdgeRoutersPageService extends ListPageServiceClass {
1612
2093
  private zitiService;
1613
2094
  csvDownloadService: CsvDownloadService;
@@ -1982,6 +2463,209 @@ declare class DataTableComponent implements OnChanges, OnInit {
1982
2463
  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>;
1983
2464
  }
1984
2465
 
2466
+ /**
2467
+ * Name cell for {@link ListTableComponent}: a link to the entity's detail route,
2468
+ * with optional identity/router status circles and a prefix icon. Inputs come from
2469
+ * the column's `cellInputs(ctx)`: `{ row, cellValue, cellConfig }`, where
2470
+ * `cellConfig` carries `pathRoot`, `itemProp?`, `showIdentityIcons?`,
2471
+ * `showRouterIcons?`, `getNamePrefix?`, `cellNamePreCheck?`.
2472
+ */
2473
+ declare class NameCellComponent {
2474
+ private router;
2475
+ cellParams: any;
2476
+ item: any;
2477
+ value: any;
2478
+ set row(v: any);
2479
+ set cellValue(v: any);
2480
+ set cellConfig(cfg: any);
2481
+ constructor(router: Router);
2482
+ get namePrefix(): {
2483
+ iconClass?: string;
2484
+ tooltip?: string;
2485
+ } | null;
2486
+ linkClicked(event: Event): void;
2487
+ private navigate;
2488
+ get cellText(): any;
2489
+ static ɵfac: i0.ɵɵFactoryDeclaration<NameCellComponent, never>;
2490
+ 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>;
2491
+ }
2492
+
2493
+ /**
2494
+ * Row selection toggle for {@link ListTableComponent}. Router / exclusive /
2495
+ * reserved / system rows cannot be toggled.
2496
+ */
2497
+ declare class SelectCellComponent {
2498
+ item: any;
2499
+ disableToggle: boolean;
2500
+ set row(v: any);
2501
+ /** Host callback invoked with the row when a selectable row is toggled. */
2502
+ toggleItem: ((item: any) => void) | undefined;
2503
+ toggle(item: any): void;
2504
+ get tooltip(): string;
2505
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectCellComponent, never>;
2506
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectCellComponent, "lib-select-cell", never, { "row": { "alias": "row"; "required": false; }; "toggleItem": { "alias": "toggleItem"; "required": false; }; }, {}, never, never, false, never>;
2507
+ }
2508
+
2509
+ /** Header cell for {@link ListTableComponent}: label, 3-state sort (asc/desc), and hide. */
2510
+ declare class ListHeaderCellComponent {
2511
+ column: ListColumn;
2512
+ sortDir: ListSortDir;
2513
+ sortChanged: EventEmitter<{
2514
+ colId: string;
2515
+ dir: ListSortDir;
2516
+ }>;
2517
+ hideColumn: EventEmitter<ListColumn<any>>;
2518
+ get enableSorting(): boolean;
2519
+ sort(): void;
2520
+ hide(event: MouseEvent): void;
2521
+ static ɵfac: i0.ɵɵFactoryDeclaration<ListHeaderCellComponent, never>;
2522
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListHeaderCellComponent, "lib-list-header-cell", never, { "column": { "alias": "column"; "required": false; }; "sortDir": { "alias": "sortDir"; "required": false; }; }, { "sortChanged": "sortChanged"; "hideColumn": "hideColumn"; }, never, never, false, never>;
2523
+ }
2524
+
2525
+ type FilterMode = 'text' | 'single' | 'multi' | 'daterange';
2526
+ interface FilterOption {
2527
+ label: string;
2528
+ value: any;
2529
+ /** Optional class(es) to render the option as a colored chip/badge (e.g. Type). */
2530
+ chipClass?: string;
2531
+ }
2532
+ /**
2533
+ * A single control in the table's filter row. Renders the right widget for the
2534
+ * column's `filterType` (text input / single-select / multi-select / date-range)
2535
+ * and pushes changes through {@link DataTableFilterService}, whose value contract the
2536
+ * controller query-builder already understands (icontains / = / anyOf() / datetime range).
2537
+ */
2538
+ declare class ListFilterCellComponent implements OnInit, OnDestroy {
2539
+ private filterService;
2540
+ private listSvc;
2541
+ column: ListColumn;
2542
+ mode: FilterMode;
2543
+ options: FilterOption[];
2544
+ textValue: string;
2545
+ selectedValue: any;
2546
+ selectedValues: string[];
2547
+ /** In-dropdown search text for the multi-select attribute combo. */
2548
+ attrSearch: string;
2549
+ open: boolean;
2550
+ menuLeft: number;
2551
+ menuTop: number;
2552
+ menuWidth: number;
2553
+ trigger?: ElementRef<HTMLElement>;
2554
+ rangePicker?: MatDateRangePicker<Date>;
2555
+ dateRangeStart: Date | null;
2556
+ dateRangeEnd: Date | null;
2557
+ private sub;
2558
+ private textDebounced;
2559
+ constructor(filterService: DataTableFilterService, listSvc: ListTableService);
2560
+ ngOnInit(): void;
2561
+ ngOnDestroy(): void;
2562
+ get field(): string;
2563
+ get placeholder(): string;
2564
+ private resolveMode;
2565
+ private resolveOptions;
2566
+ /** Short display of the current selection, shown after the field label when set. */
2567
+ get valueLabel(): string;
2568
+ get hasValue(): boolean;
2569
+ isOptionSelected(opt: FilterOption): boolean;
2570
+ /** Attribute options filtered by the in-dropdown search box (multi mode). */
2571
+ get filteredOptions(): FilterOption[];
2572
+ /** A named attribute (rendered with @ + secondary color) vs a role attribute (# + primary). */
2573
+ isNamedOption(opt: FilterOption): boolean;
2574
+ /** Option label with its #/@ prefix, matching the Roles column chips. */
2575
+ attrLabel(opt: FilterOption): string;
2576
+ toggleMenu(event: MouseEvent): void;
2577
+ closeMenu(): void;
2578
+ onTextInput(): void;
2579
+ private emitText;
2580
+ selectOption(opt: FilterOption): void;
2581
+ toggleOption(opt: FilterOption): void;
2582
+ private emitMulti;
2583
+ selectDatePreset(opt: FilterOption): void;
2584
+ openCustomRange(event: MouseEvent): void;
2585
+ onRangeStartChanged(date: Date | null): void;
2586
+ onRangeEndChanged(date: Date | null): void;
2587
+ private emitCustomRange;
2588
+ clear(event: MouseEvent): void;
2589
+ private removeThis;
2590
+ private syncFromFilters;
2591
+ static ɵfac: i0.ɵɵFactoryDeclaration<ListFilterCellComponent, never>;
2592
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListFilterCellComponent, "lib-list-filter-cell", never, { "column": { "alias": "column"; "required": false; }; }, {}, never, never, false, never>;
2593
+ }
2594
+
2595
+ /**
2596
+ * Modern hover card for the identities O/S cell — shows the environment info
2597
+ * (OS, version, release, arch) in a clean key/value layout. Rendered by
2598
+ * ListTableComponent's hover-tooltip mechanism (column `tooltip`).
2599
+ */
2600
+ declare class OsInfoTooltipComponent {
2601
+ row: any;
2602
+ get envInfo(): any;
2603
+ get osClass(): string;
2604
+ get osTitle(): string;
2605
+ /** Whether there is any environment info worth showing. */
2606
+ get hasInfo(): boolean;
2607
+ static ɵfac: i0.ɵɵFactoryDeclaration<OsInfoTooltipComponent, never>;
2608
+ static ɵcmp: i0.ɵɵComponentDeclaration<OsInfoTooltipComponent, "lib-os-info-tooltip", never, { "row": { "alias": "row"; "required": false; }; }, {}, never, never, false, never>;
2609
+ }
2610
+
2611
+ /**
2612
+ * Hover card for the identities SDK cell — shows the reported SDK details
2613
+ * (app id/version, version, type, branch, revision), the same fields the legacy
2614
+ * ag-grid SDK tooltip surfaced. Rendered by ListTableComponent's hover-tooltip
2615
+ * mechanism (column `tooltip`).
2616
+ */
2617
+ declare class SdkInfoTooltipComponent {
2618
+ row: any;
2619
+ get sdkInfo(): any;
2620
+ get title(): string;
2621
+ get hasInfo(): boolean;
2622
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdkInfoTooltipComponent, never>;
2623
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdkInfoTooltipComponent, "lib-sdk-info-tooltip", never, { "row": { "alias": "row"; "required": false; }; }, {}, never, never, false, never>;
2624
+ }
2625
+
2626
+ /**
2627
+ * Renders a truthy boolean as a green check + domain label (via `trueLabel`);
2628
+ * a false value renders nothing, so the column reads as a clean presence marker.
2629
+ */
2630
+ declare class BooleanCellComponent {
2631
+ value: any;
2632
+ trueLabel: string;
2633
+ get isTrue(): boolean;
2634
+ static ɵfac: i0.ɵɵFactoryDeclaration<BooleanCellComponent, never>;
2635
+ static ɵcmp: i0.ɵɵComponentDeclaration<BooleanCellComponent, "lib-boolean-cell", never, { "value": { "alias": "value"; "required": false; }; "trueLabel": { "alias": "trueLabel"; "required": false; }; }, {}, never, never, false, never>;
2636
+ }
2637
+
2638
+ type TokenStatus = 'available' | 'expired' | 'none';
2639
+ interface TokenAction {
2640
+ label: string;
2641
+ action: string;
2642
+ icon: string;
2643
+ }
2644
+ /**
2645
+ * Enrollment-token cell for the identities list. Shows a status chip (Available /
2646
+ * Expired / —) that doubles as a dropdown of enrollment actions (Download JWT, Show
2647
+ * QR, Re-issue). Actions are emitted via the cell context's `emitAction`, so they run
2648
+ * through the same page handlers as the row ⋯ menu.
2649
+ */
2650
+ declare class TokenCellComponent {
2651
+ row: any;
2652
+ emitAction?: (action: string, item?: any) => void;
2653
+ trigger?: ElementRef<HTMLElement>;
2654
+ open: boolean;
2655
+ menuLeft: number;
2656
+ menuTop: number;
2657
+ get status(): TokenStatus;
2658
+ get statusLabel(): string;
2659
+ get actions(): TokenAction[];
2660
+ toggleMenu(event: MouseEvent): void;
2661
+ closeMenu(): void;
2662
+ runAction(action: string, event: MouseEvent): void;
2663
+ private get hasEnrolmentToken();
2664
+ private get tokenExpired();
2665
+ static ɵfac: i0.ɵɵFactoryDeclaration<TokenCellComponent, never>;
2666
+ static ɵcmp: i0.ɵɵComponentDeclaration<TokenCellComponent, "lib-token-cell", never, { "row": { "alias": "row"; "required": false; }; "emitAction": { "alias": "emitAction"; "required": false; }; }, {}, never, never, false, never>;
2667
+ }
2668
+
1985
2669
  declare class TableCellSelectComponent implements ICellRendererAngularComp {
1986
2670
  cellParams: any;
1987
2671
  item: any;
@@ -2227,6 +2911,7 @@ declare class EdgeRouterFormComponent extends ProjectableForm implements OnInit,
2227
2911
  clear(): void;
2228
2912
  isTunnelerDisabled(): boolean;
2229
2913
  get tunnelerEnabledReadOnly(): boolean;
2914
+ get isCustomerHosted(): boolean;
2230
2915
  static ɵfac: i0.ɵɵFactoryDeclaration<EdgeRouterFormComponent, never>;
2231
2916
  static ɵcmp: i0.ɵɵComponentDeclaration<EdgeRouterFormComponent, "lib-edge-router-form", never, { "edgeRouterRoleAttributes": { "alias": "edgeRouterRoleAttributes"; "required": false; }; }, { "close": "close"; }, never, ["[slot=tabs-slot]", "[slot=column-1-slot-1]", "[slot=column-2-slot-1]"], false, never>;
2232
2917
  }
@@ -2530,6 +3215,7 @@ declare class TagSelectorComponent implements AfterViewInit {
2530
3215
  isLoading: boolean;
2531
3216
  errorMessage: string;
2532
3217
  focusOnInit: boolean;
3218
+ namedAttributesServerFiltered: boolean;
2533
3219
  addRoleAttribute: EventEmitter<any>;
2534
3220
  addNamedAttribute: EventEmitter<any>;
2535
3221
  roleAttributeRemoved: EventEmitter<any>;
@@ -2574,7 +3260,7 @@ declare class TagSelectorComponent implements AfterViewInit {
2574
3260
  get isNothingSelected(): boolean;
2575
3261
  nameSort: (a: any, b: any) => 0 | 1 | -1;
2576
3262
  static ɵfac: i0.ɵɵFactoryDeclaration<TagSelectorComponent, never>;
2577
- static ɵcmp: i0.ɵɵComponentDeclaration<TagSelectorComponent, "lib-tag-selector", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "disableField": { "alias": "disableField"; "required": false; }; "disableCreate": { "alias": "disableCreate"; "required": false; }; "hideOption": { "alias": "hideOption"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "focusOnInit": { "alias": "focusOnInit"; "required": false; }; "selectedRoleAttributes": { "alias": "selectedRoleAttributes"; "required": false; }; "selectedNamedAttributes": { "alias": "selectedNamedAttributes"; "required": false; }; "hasError": { "alias": "hasError"; "required": false; }; "availableRoleAttributes": { "alias": "availableRoleAttributes"; "required": false; }; "availableNamedAttributes": { "alias": "availableNamedAttributes"; "required": false; }; }, { "addRoleAttribute": "addRoleAttribute"; "addNamedAttribute": "addNamedAttribute"; "roleAttributeRemoved": "roleAttributeRemoved"; "namedAttributeRemoved": "namedAttributeRemoved"; "selectedRoleAttributesChange": "selectedRoleAttributesChange"; "selectedNamedAttributesChange": "selectedNamedAttributesChange"; "filterChange": "filterChange"; }, never, never, false, never>;
3263
+ static ɵcmp: i0.ɵɵComponentDeclaration<TagSelectorComponent, "lib-tag-selector", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "disableField": { "alias": "disableField"; "required": false; }; "disableCreate": { "alias": "disableCreate"; "required": false; }; "hideOption": { "alias": "hideOption"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "focusOnInit": { "alias": "focusOnInit"; "required": false; }; "namedAttributesServerFiltered": { "alias": "namedAttributesServerFiltered"; "required": false; }; "selectedRoleAttributes": { "alias": "selectedRoleAttributes"; "required": false; }; "selectedNamedAttributes": { "alias": "selectedNamedAttributes"; "required": false; }; "hasError": { "alias": "hasError"; "required": false; }; "availableRoleAttributes": { "alias": "availableRoleAttributes"; "required": false; }; "availableNamedAttributes": { "alias": "availableNamedAttributes"; "required": false; }; }, { "addRoleAttribute": "addRoleAttribute"; "addNamedAttribute": "addNamedAttribute"; "roleAttributeRemoved": "roleAttributeRemoved"; "namedAttributeRemoved": "namedAttributeRemoved"; "selectedRoleAttributesChange": "selectedRoleAttributesChange"; "selectedNamedAttributesChange": "selectedNamedAttributesChange"; "filterChange": "filterChange"; }, never, never, false, never>;
2578
3264
  }
2579
3265
 
2580
3266
  declare class QrCodeComponent implements OnChanges {
@@ -3326,10 +4012,20 @@ declare class ServicePolicyFormService {
3326
4012
  copyToClipboard(val: any): void;
3327
4013
  getSelectedRoles(roleAttributes: any, namedAttributes: any, namedAttributeMap: any): any[];
3328
4014
  getServiceRoleAttributes(): Promise<any>;
3329
- getIdentityNamedAttributes(): Promise<any>;
3330
- getServiceNamedAttributes(): Promise<any>;
4015
+ private identityNamedAttributesRequestId;
4016
+ getIdentityNamedAttributes(filter?: string): Promise<any>;
4017
+ private serviceNamedAttributesRequestId;
4018
+ getServiceNamedAttributes(filter?: string): Promise<any>;
3331
4019
  getIdentityRoleAttributes(): Promise<any>;
3332
- getPostureNamedAttributes(): Promise<any>;
4020
+ private postureNamedAttributesRequestId;
4021
+ getPostureNamedAttributes(filter?: string): Promise<any>;
4022
+ /**
4023
+ * The policy response includes serviceRolesDisplay/identityRolesDisplay/postureCheckRolesDisplay
4024
+ * alongside the raw #role/@id arrays, resolving every referenced name for free (no extra
4025
+ * request) even when that entity falls outside the paged named-attribute fetch above.
4026
+ */
4027
+ mergeRolesDisplayIntoMaps(formData: any): void;
4028
+ private mergeDisplayIntoMap;
3333
4029
  static ɵfac: i0.ɵɵFactoryDeclaration<ServicePolicyFormService, never>;
3334
4030
  static ɵprov: i0.ɵɵInjectableDeclaration<ServicePolicyFormService>;
3335
4031
  }
@@ -4016,9 +4712,17 @@ declare class ServicePolicyFormComponent extends ProjectableForm implements OnIn
4016
4712
  entityClass: typeof ServicePolicy;
4017
4713
  constructor(settingsService: SettingsService, svc: ServicePolicyFormService, zitiService: ZitiDataService, growlerService: GrowlerService, extService: ExtensionService, router: Router, route: ActivatedRoute, location: Location, dialogForm: MatDialog);
4018
4714
  ngOnInit(): void;
4715
+ getServiceNamedAttributesDebounced: lodash.DebouncedFunc<(filter: string) => Promise<void>>;
4716
+ getIdentityNamedAttributesDebounced: lodash.DebouncedFunc<(filter: string) => Promise<void>>;
4717
+ getPostureNamedAttributesDebounced: lodash.DebouncedFunc<(filter: string) => Promise<void>>;
4019
4718
  entityUpdated(): void;
4020
4719
  ngOnDestroy(): void;
4021
4720
  ngOnChanges(changes: SimpleChanges): void;
4721
+ /**
4722
+ * Keeps already-selected names visible in each picker's available list even though the
4723
+ * underlying fetch only returns a bounded/filtered page.
4724
+ */
4725
+ mergeSelectedIntoAvailable(): void;
4022
4726
  initSelectedAttributes(): void;
4023
4727
  updateAssociations(): void;
4024
4728
  onServiceAttributesChanged(): void;
@@ -4153,9 +4857,18 @@ declare class EdgeRouterPolicyFormService {
4153
4857
  getAssociatedEdgeRoutersByAttribute(roleAttributes: any, namedAttributes: any, semantic?: string): void;
4154
4858
  getAssociatedIdentitiesByAttribute(roleAttributes: any, namedAttributes: any, semantic?: string): void;
4155
4859
  getEdgeRouterRoleAttributes(): Promise<any>;
4156
- getIdentityNamedAttributes(): Promise<any>;
4157
- getEdgeRouterNamedAttributes(): Promise<any>;
4860
+ private identityNamedAttributesRequestId;
4861
+ getIdentityNamedAttributes(filter?: string): Promise<any>;
4862
+ private edgeRouterNamedAttributesRequestId;
4863
+ getEdgeRouterNamedAttributes(filter?: string): Promise<any>;
4158
4864
  getIdentityRoleAttributes(): Promise<any>;
4865
+ /**
4866
+ * The policy response includes edgeRouterRolesDisplay/identityRolesDisplay alongside the
4867
+ * raw #role/@id arrays, resolving every referenced name for free (no extra request) even
4868
+ * when that entity falls outside the paged named-attribute fetch above.
4869
+ */
4870
+ mergeRolesDisplayIntoMaps(formData: any): void;
4871
+ private mergeDisplayIntoMap;
4159
4872
  getEdgeRouterPolicyDataModel(formData: any, isUpdate: any): EdgeRouterPolicy;
4160
4873
  copyToClipboard(val: any): void;
4161
4874
  getSelectedRoles(roleAttributes: any, namedAttributes: any, namedAttributeMap: any): any[];
@@ -4187,7 +4900,14 @@ declare class EdgeRouterPolicyFormComponent extends ProjectableForm implements O
4187
4900
  entityUpdated(): void;
4188
4901
  ngOnDestroy(): void;
4189
4902
  ngOnChanges(changes: SimpleChanges): void;
4903
+ getEdgeRouterNamedAttributesDebounced: lodash.DebouncedFunc<(filter: string) => Promise<void>>;
4904
+ getIdentityNamedAttributesDebounced: lodash.DebouncedFunc<(filter: string) => Promise<void>>;
4190
4905
  loadAttributes(): void;
4906
+ /**
4907
+ * Keeps already-selected names visible in the picker's available list even though the
4908
+ * underlying fetch only returns a bounded/filtered page.
4909
+ */
4910
+ mergeSelectedIntoAvailable(): void;
4191
4911
  initSelectedAttributes(): void;
4192
4912
  updateAssociations(): void;
4193
4913
  headerActionRequested(action: any): void;
@@ -4341,9 +5061,18 @@ declare class ServiceEdgeRouterPolicyFormService {
4341
5061
  getAssociatedEdgeRoutersByAttribute(roleAttributes: any, namedAttributes: any, semantic?: string): void;
4342
5062
  getAssociatedServicesByAttribute(roleAttributes: any, namedAttributes: any, semantic?: string): void;
4343
5063
  getEdgeRouterRoleAttributes(): Promise<any>;
4344
- getServiceNamedAttributes(): Promise<any>;
4345
- getEdgeRouterNamedAttributes(): Promise<any>;
5064
+ private serviceNamedAttributesRequestId;
5065
+ getServiceNamedAttributes(filter?: string): Promise<any>;
5066
+ private edgeRouterNamedAttributesRequestId;
5067
+ getEdgeRouterNamedAttributes(filter?: string): Promise<any>;
4346
5068
  getServiceRoleAttributes(): Promise<any>;
5069
+ /**
5070
+ * The policy response includes edgeRouterRolesDisplay/serviceRolesDisplay alongside the
5071
+ * raw #role/@id arrays, resolving every referenced name for free (no extra request) even
5072
+ * when that entity falls outside the paged named-attribute fetch above.
5073
+ */
5074
+ mergeRolesDisplayIntoMaps(formData: any): void;
5075
+ private mergeDisplayIntoMap;
4347
5076
  getEdgeRouterPolicyDataModel(formData: any, isUpdate: any): ServiceEdgeRouterPolicy;
4348
5077
  copyToClipboard(val: any): void;
4349
5078
  getSelectedRoles(roleAttributes: any, namedAttributes: any, namedAttributeMap: any): any[];
@@ -4374,7 +5103,14 @@ declare class ServiceEdgeRouterPolicyFormComponent extends ProjectableForm imple
4374
5103
  entityUpdated(): void;
4375
5104
  ngOnDestroy(): void;
4376
5105
  ngOnChanges(changes: SimpleChanges): void;
5106
+ getEdgeRouterNamedAttributesDebounced: lodash.DebouncedFunc<(filter: string) => Promise<void>>;
5107
+ getServiceNamedAttributesDebounced: lodash.DebouncedFunc<(filter: string) => Promise<void>>;
4377
5108
  loadAttributes(): void;
5109
+ /**
5110
+ * Keeps already-selected names visible in the picker's available list even though the
5111
+ * underlying fetch only returns a bounded/filtered page.
5112
+ */
5113
+ mergeSelectedIntoAvailable(): void;
4378
5114
  initSelectedAttributes(): void;
4379
5115
  headerActionRequested(action: any): void;
4380
5116
  multiActionRequested(action: any): void;
@@ -4592,6 +5328,9 @@ declare class JwtSigner {
4592
5328
  targetToken: string;
4593
5329
  enrollToCertEnabled: boolean;
4594
5330
  enrollToTokenEnabled: boolean;
5331
+ enrollAuthPolicyId: string;
5332
+ enrollNameClaimsSelector: string;
5333
+ enrollAttributeClaimsSelector: string;
4595
5334
  }
4596
5335
 
4597
5336
  declare class JwtSignerFormService {
@@ -4690,6 +5429,7 @@ declare class JwtSignerFormComponent extends ProjectableForm implements OnInit,
4690
5429
  oidcAuthTokenClaims: any;
4691
5430
  oidcClaims: any;
4692
5431
  overrideFormData: any;
5432
+ authPolicies: any[];
4693
5433
  usePreviousLocation: boolean;
4694
5434
  entityType: string;
4695
5435
  entityClass: typeof JwtSigner;
@@ -4698,6 +5438,7 @@ declare class JwtSignerFormComponent extends ProjectableForm implements OnInit,
4698
5438
  oidcVerification: ElementRef;
4699
5439
  constructor(svc: JwtSignerFormService, schemaSvc: SchemaService, growlerService: GrowlerService, extService: ExtensionService, settingsService: SettingsService, zitiService: ZitiDataService, router: Router, route: ActivatedRoute, location: Location, validationService: ValidationService, authService: AuthService, oauthService: OAuthService, http: HttpClient, loginService: LoginServiceClass, dialogForm: MatDialog);
4700
5440
  ngOnInit(): void;
5441
+ getAuthPolicies(): void;
4701
5442
  ngAfterViewInit(): void;
4702
5443
  protected entityUpdated(): void;
4703
5444
  ngOnDestroy(): void;
@@ -4712,6 +5453,8 @@ declare class JwtSignerFormComponent extends ProjectableForm implements OnInit,
4712
5453
  get showAutoEnrollment(): boolean;
4713
5454
  get targetToken(): any;
4714
5455
  set targetToken(val: any);
5456
+ get enrollAuthPolicyId(): any;
5457
+ set enrollAuthPolicyId(val: any);
4715
5458
  get apiCallURL(): string;
4716
5459
  get apiData(): any;
4717
5460
  _apiData: any;
@@ -5699,6 +6442,7 @@ declare class SettingsComponent implements OnInit {
5699
6442
  hideTags: boolean;
5700
6443
  transitions: boolean;
5701
6444
  isFilterAfterSave: boolean;
6445
+ betaFeatures: boolean;
5702
6446
  primaryColor: any;
5703
6447
  secondaryColor: any;
5704
6448
  constructor();
@@ -5706,6 +6450,7 @@ declare class SettingsComponent implements OnInit {
5706
6450
  swap(): void;
5707
6451
  hide(): void;
5708
6452
  filterAfter(): void;
6453
+ betaFeaturesChanged(): void;
5709
6454
  transitionsChange(): void;
5710
6455
  updateTransitions(): void;
5711
6456
  onPrimaryColorChange(color: any): void;
@@ -7725,7 +8470,7 @@ declare class GrowlerModule {
7725
8470
  declare function playerFactory(): Promise<typeof lottie_web>;
7726
8471
  declare class OpenZitiConsoleLibModule {
7727
8472
  static ɵfac: i0.ɵɵFactoryDeclaration<OpenZitiConsoleLibModule, never>;
7728
- 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 FilterBarComponent, typeof ListPageFormComponent, typeof IdentitiesPageComponent, typeof EdgeRoutersPageComponent, typeof TransitRoutersPageComponent, typeof DataTableComponent, 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 ServicePolicyFormComponent, typeof EdgeRouterPoliciesPageComponent, typeof EdgeRouterPolicyFormComponent, typeof MultiActionButtonComponent, typeof TableCellNameComponent, typeof ServiceEdgeRouterPoliciesPageComponent, 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 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 i3.FormsModule, typeof i116.MatDialogModule, typeof i117.MatRadioModule, typeof ZacRoutingModule, typeof i119.MatDatepickerModule, typeof i120.MatNativeDateModule, typeof i121.MatFormFieldModule, typeof i122.MatInputModule, typeof i123.MatSelectModule, typeof i124.MatButtonModule, typeof i125.MatIconModule, typeof i126.OverlayModule, typeof i127.AgGridModule, typeof i128.QRCodeComponent, typeof i129.ClickOutsideModule, typeof i130.NgJsonEditorModule, typeof i131.MatTooltipModule, typeof i132.MatAutocompleteModule, typeof i133.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 EdgeRoutersPageComponent, typeof TransitRoutersPageComponent, typeof ServicesPageComponent, typeof ZacRoutingModule, typeof SideModalComponent, typeof IdentityFormComponent, typeof LoadingIndicatorComponent, typeof GrowlerModule, typeof FormFieldContainerComponent, typeof FormFieldToggleComponent, typeof ServiceFormComponent, typeof ServicePoliciesPageComponent, typeof ServicePolicyFormComponent, typeof EdgeRouterPoliciesPageComponent, typeof TerminatorsPageComponent, typeof TerminatorFormComponent, typeof JwtSignersPageComponent, typeof JwtSignerFormComponent, typeof AuthPoliciesPageComponent, typeof AuthPolicyFormComponent, typeof LoginDialogComponent, typeof PostureChecksPageComponent, 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]>;
8473
+ 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 NameCellComponent, typeof SelectCellComponent, typeof ListHeaderCellComponent, typeof ListFilterCellComponent, typeof OsInfoTooltipComponent, typeof SdkInfoTooltipComponent, typeof BooleanCellComponent, typeof TokenCellComponent, 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 ServicePolicyFormComponent, typeof EdgeRouterPoliciesPageComponent, typeof EdgeRouterPolicyFormComponent, typeof MultiActionButtonComponent, typeof TableCellNameComponent, typeof ServiceEdgeRouterPoliciesPageComponent, 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 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 i3.FormsModule, typeof i128.MatDialogModule, typeof i129.MatRadioModule, typeof ZacRoutingModule, typeof i131.MatDatepickerModule, typeof i132.MatNativeDateModule, typeof i133.MatFormFieldModule, typeof i134.MatInputModule, typeof i135.MatSelectModule, typeof i136.MatButtonModule, typeof i137.MatIconModule, typeof i138.OverlayModule, typeof i139.DragDropModule, typeof i140.AgGridModule, typeof i141.QRCodeComponent, typeof i142.ClickOutsideModule, typeof i143.NgJsonEditorModule, typeof i144.MatTooltipModule, typeof i145.MatAutocompleteModule, typeof i146.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 ServicePolicyFormComponent, typeof EdgeRouterPoliciesPageComponent, typeof TerminatorsPageComponent, typeof TerminatorFormComponent, typeof JwtSignersPageComponent, typeof JwtSignerFormComponent, typeof AuthPoliciesPageComponent, typeof AuthPolicyFormComponent, typeof LoginDialogComponent, typeof PostureChecksPageComponent, 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]>;
7729
8474
  static ɵinj: i0.ɵɵInjectorDeclaration<OpenZitiConsoleLibModule>;
7730
8475
  }
7731
8476
 
@@ -7958,6 +8703,6 @@ declare const ZAC_VERSION: {
7958
8703
  version: string;
7959
8704
  };
7960
8705
 
7961
- export { APISessionFormComponent, APISessionsPageComponent, API_RESOURCE_TO_ENTITY_PERMISSION, ApiSessionsPageService, AttributesComponent, AuthPoliciesPageComponent, AuthPoliciesPageService, AuthPolicyFormComponent, AuthPolicyFormService, AuthService, BooleanToggleInputComponent, CallbackComponent, CardListComponent, CertificateAuthoritiesPageComponent, CertificateAuthoritiesPageService, CertificateAuthorityFormComponent, CertificateAuthorityFormService, CheckboxListInputComponent, ChipsInputComponent, 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, 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, IdentitiesPageComponent, IdentitiesPageService, Identity$1 as Identity, IdentityFormComponent, IdentityFormService, IdentityServicePathComponent, InsecureContextError, JsonViewComponent, JwtSignerFormComponent, JwtSignerFormService, JwtSignersPageComponent, JwtSignersPageService, KEY_CODES, ListPageComponent, ListPageServiceClass, LoadingIndicatorComponent, LoggerService, LoginDialogComponent, LoginServiceClass, ManagementPermissionsService, NetworkVisualizerComponent, NodeDataService, NoopLoginService, NoopTabInterceptorService, NumberInputComponent, OIDC_CLIENT_ID, OIDC_CLIENT_ID_LEGACY, ObjectComponent, OidcEnvironmentalError, OidcSessionUnrecoverableError, OpenZitiConsoleLibModule, PasswordInputComponent, PostureCheckFormComponent, 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, SelectorInputComponent, ServiceEdgeRouterPoliciesPageComponent, ServiceEdgeRouterPoliciesPageService, ServiceEdgeRouterPolicyFormComponent, ServiceEdgeRouterPolicyFormService, ServiceFormComponent, ServiceFormService, 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, 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 };
7962
- export type { CanComponentDeactivate, ExtensionEvent, ExtensionEventType, ExtensionService, FilterObj, HAClusterStatus, HAController, OidcAuthContext, OidcLoginStep, OidcTokenSet, TabInterceptorService, ZitiDomainControllerService, ZitiSessionData };
8706
+ export { APISessionFormComponent, APISessionsPageComponent, API_RESOURCE_TO_ENTITY_PERMISSION, ApiSessionsPageService, AttributesComponent, AuthPoliciesPageComponent, AuthPoliciesPageService, AuthPolicyFormComponent, AuthPolicyFormService, AuthService, BooleanCellComponent, BooleanToggleInputComponent, CallbackComponent, CardListComponent, CertificateAuthoritiesPageComponent, CertificateAuthoritiesPageService, CertificateAuthorityFormComponent, CertificateAuthorityFormService, CheckboxListInputComponent, ChipsInputComponent, 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, 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, ListTableComponent, 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, 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, ServiceEdgeRouterPoliciesPageComponent, ServiceEdgeRouterPoliciesPageService, ServiceEdgeRouterPolicyFormComponent, ServiceEdgeRouterPolicyFormService, ServiceFormComponent, ServiceFormService, 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 };
8707
+ export type { CanComponentDeactivate, ExtensionEvent, ExtensionEventType, ExtensionService, FilterObj, HAClusterStatus, HAController, ListCell, ListCellContext, ListColumn, ListLegacyCellShim, ListMenuItem, ListSortDir, OidcAuthContext, OidcLoginStep, OidcTokenSet, TabInterceptorService, ZitiDomainControllerService, ZitiSessionData };
7963
8708
  //# sourceMappingURL=index.d.ts.map