@truenas/ui-components 0.1.56 → 0.1.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { ElementRef, OnDestroy, AfterViewInit, AfterContentInit, TemplateRef, Provider, ChangeDetectorRef, OnInit, PipeTransform, ViewContainerRef, AfterViewChecked, ComponentRef } from '@angular/core';
|
|
2
|
+
import { ElementRef, OnDestroy, AfterViewInit, AfterContentInit, TemplateRef, Provider, ChangeDetectorRef, OnInit, PipeTransform, ViewContainerRef, AfterViewChecked, ComponentRef, InjectionToken } from '@angular/core';
|
|
3
3
|
import { ControlValueAccessor, NgControl } from '@angular/forms';
|
|
4
4
|
import { ComponentHarness, BaseHarnessFilters, HarnessPredicate, HarnessLoader } from '@angular/cdk/testing';
|
|
5
5
|
import { SafeHtml, SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';
|
|
@@ -270,6 +270,11 @@ declare class TnDrawerComponent implements OnDestroy {
|
|
|
270
270
|
position: _angular_core.InputSignal<TnDrawerPosition>;
|
|
271
271
|
/** Accessible label for the drawer panel */
|
|
272
272
|
ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
273
|
+
/**
|
|
274
|
+
* Test-id applied to the drawer panel. Rendered under whichever attribute name is
|
|
275
|
+
* configured via `TN_TEST_ATTR` (default `data-testid`).
|
|
276
|
+
*/
|
|
277
|
+
testId: _angular_core.InputSignal<string | undefined>;
|
|
273
278
|
/** Fires after the open transition completes */
|
|
274
279
|
openedComplete: _angular_core.OutputEmitterRef<void>;
|
|
275
280
|
/** Fires after the close transition completes */
|
|
@@ -308,7 +313,7 @@ declare class TnDrawerComponent implements OnDestroy {
|
|
|
308
313
|
protected onTransitionEnd(event: TransitionEvent): void;
|
|
309
314
|
private restoreFocus;
|
|
310
315
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnDrawerComponent, never>;
|
|
311
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnDrawerComponent, "tn-drawer", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "opened": { "alias": "opened"; "required": false; "isSignal": true; }; "disableClose": { "alias": "disableClose"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "opened": "openedChange"; "openedComplete": "openedComplete"; "closed": "closed"; }, never, ["*"], true, never>;
|
|
316
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnDrawerComponent, "tn-drawer", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "opened": { "alias": "opened"; "required": false; "isSignal": true; }; "disableClose": { "alias": "disableClose"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, { "opened": "openedChange"; "openedComplete": "openedComplete"; "closed": "closed"; }, never, ["*"], true, never>;
|
|
312
317
|
}
|
|
313
318
|
|
|
314
319
|
declare class TnDrawerContainerComponent {
|
|
@@ -527,10 +532,37 @@ declare class TnButtonComponent {
|
|
|
527
532
|
backgroundColor: _angular_core.InputSignal<string | undefined>;
|
|
528
533
|
label: _angular_core.InputSignal<string>;
|
|
529
534
|
disabled: _angular_core.InputSignal<boolean>;
|
|
535
|
+
/**
|
|
536
|
+
* Test-id applied to the rendered element. Rendered under whichever attribute
|
|
537
|
+
* name is configured via `TN_TEST_ATTR` (default `data-testid`).
|
|
538
|
+
*/
|
|
539
|
+
testId: _angular_core.InputSignal<string | undefined>;
|
|
540
|
+
/**
|
|
541
|
+
* Renders the button as an `<a>` with a plain `href` attribute.
|
|
542
|
+
* Mutually exclusive with `routerLink` — if both are provided, `routerLink` wins.
|
|
543
|
+
*/
|
|
544
|
+
href: _angular_core.InputSignal<string | undefined>;
|
|
545
|
+
/**
|
|
546
|
+
* Renders the button as an `<a>` driven by Angular Router. Accepts the same
|
|
547
|
+
* shapes as `[routerLink]` (`string | any[]`).
|
|
548
|
+
*/
|
|
549
|
+
routerLink: _angular_core.InputSignal<string | unknown[] | undefined>;
|
|
550
|
+
queryParams: _angular_core.InputSignal<Record<string, unknown> | undefined>;
|
|
551
|
+
fragment: _angular_core.InputSignal<string | undefined>;
|
|
552
|
+
target: _angular_core.InputSignal<string | undefined>;
|
|
553
|
+
rel: _angular_core.InputSignal<string | undefined>;
|
|
554
|
+
/**
|
|
555
|
+
* Accessible label for the rendered element. Mirrors `aria-label`; useful when
|
|
556
|
+
* the visible label alone is insufficient (e.g. icon-only links).
|
|
557
|
+
*/
|
|
558
|
+
ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
530
559
|
onClick: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
560
|
+
isAnchor: _angular_core.Signal<boolean>;
|
|
561
|
+
isRouterLink: _angular_core.Signal<boolean>;
|
|
531
562
|
classes: _angular_core.Signal<string[]>;
|
|
563
|
+
handleAnchorClick(event: MouseEvent): void;
|
|
532
564
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnButtonComponent, never>;
|
|
533
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnButtonComponent, "tn-button", never, { "primary": { "alias": "primary"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, never, true, never>;
|
|
565
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnButtonComponent, "tn-button", never, { "primary": { "alias": "primary"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "queryParams": { "alias": "queryParams"; "required": false; "isSignal": true; }; "fragment": { "alias": "fragment"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; "rel": { "alias": "rel"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, never, true, never>;
|
|
534
566
|
}
|
|
535
567
|
|
|
536
568
|
/**
|
|
@@ -599,6 +631,18 @@ declare class TnButtonHarness extends ComponentHarness {
|
|
|
599
631
|
* ```
|
|
600
632
|
*/
|
|
601
633
|
isDisabled(): Promise<boolean>;
|
|
634
|
+
/**
|
|
635
|
+
* Gets the resolved URL of the rendered element. Returns the `href` for
|
|
636
|
+
* anchor-mode renders (both plain `href` and `routerLink`) and `null` for
|
|
637
|
+
* button-mode renders.
|
|
638
|
+
*
|
|
639
|
+
* @example
|
|
640
|
+
* ```typescript
|
|
641
|
+
* const link = await loader.getHarness(TnButtonHarness.with({ label: 'Audit Settings' }));
|
|
642
|
+
* expect(await link.getHref()).toContain('/audit/settings');
|
|
643
|
+
* ```
|
|
644
|
+
*/
|
|
645
|
+
getHref(): Promise<string | null>;
|
|
602
646
|
/**
|
|
603
647
|
* Clicks the button.
|
|
604
648
|
*
|
|
@@ -673,6 +717,11 @@ declare class TnIconComponent {
|
|
|
673
717
|
declare class TnIconButtonComponent {
|
|
674
718
|
disabled: _angular_core.InputSignal<boolean>;
|
|
675
719
|
ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
720
|
+
/**
|
|
721
|
+
* Test-id applied to the rendered `<button>` element. Rendered under whichever attribute
|
|
722
|
+
* name is configured via `TN_TEST_ATTR` (default `data-testid`).
|
|
723
|
+
*/
|
|
724
|
+
testId: _angular_core.InputSignal<string | undefined>;
|
|
676
725
|
name: _angular_core.InputSignal<string>;
|
|
677
726
|
size: _angular_core.InputSignal<IconSize>;
|
|
678
727
|
color: _angular_core.InputSignal<string | undefined>;
|
|
@@ -682,7 +731,7 @@ declare class TnIconButtonComponent {
|
|
|
682
731
|
classes: _angular_core.Signal<string[]>;
|
|
683
732
|
effectiveAriaLabel: _angular_core.Signal<string>;
|
|
684
733
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnIconButtonComponent, never>;
|
|
685
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnIconButtonComponent, "tn-icon-button", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "library": { "alias": "library"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, never, true, never>;
|
|
734
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnIconButtonComponent, "tn-icon-button", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "library": { "alias": "library"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, never, true, never>;
|
|
686
735
|
}
|
|
687
736
|
|
|
688
737
|
/**
|
|
@@ -1213,20 +1262,40 @@ interface TnCardAction {
|
|
|
1213
1262
|
handler: () => void;
|
|
1214
1263
|
disabled?: boolean;
|
|
1215
1264
|
icon?: string;
|
|
1265
|
+
/**
|
|
1266
|
+
* Test-id applied to the rendered action button. Rendered under whichever attribute name
|
|
1267
|
+
* is configured via `TN_TEST_ATTR` (default `data-testid`).
|
|
1268
|
+
*/
|
|
1269
|
+
testId?: string;
|
|
1216
1270
|
}
|
|
1217
1271
|
interface TnCardControl {
|
|
1218
1272
|
label: string;
|
|
1219
1273
|
checked: boolean;
|
|
1220
1274
|
handler: (checked: boolean) => void;
|
|
1221
1275
|
disabled?: boolean;
|
|
1276
|
+
/**
|
|
1277
|
+
* Test-id applied to the rendered slide-toggle. Rendered under whichever attribute name
|
|
1278
|
+
* is configured via `TN_TEST_ATTR` (default `data-testid`).
|
|
1279
|
+
*/
|
|
1280
|
+
testId?: string;
|
|
1222
1281
|
}
|
|
1223
1282
|
interface TnCardHeaderStatus {
|
|
1224
1283
|
label: string;
|
|
1225
1284
|
type?: 'success' | 'warning' | 'error' | 'info' | 'neutral';
|
|
1285
|
+
/**
|
|
1286
|
+
* Test-id applied to the rendered status pill `<div>`. Rendered under whichever attribute name
|
|
1287
|
+
* is configured via `TN_TEST_ATTR` (default `data-testid`).
|
|
1288
|
+
*/
|
|
1289
|
+
testId?: string;
|
|
1226
1290
|
}
|
|
1227
1291
|
interface TnCardFooterLink {
|
|
1228
1292
|
label: string;
|
|
1229
1293
|
handler: () => void;
|
|
1294
|
+
/**
|
|
1295
|
+
* Test-id applied to the rendered footer link button. Rendered under whichever attribute name
|
|
1296
|
+
* is configured via `TN_TEST_ATTR` (default `data-testid`).
|
|
1297
|
+
*/
|
|
1298
|
+
testId?: string;
|
|
1230
1299
|
}
|
|
1231
1300
|
|
|
1232
1301
|
/**
|
|
@@ -1259,6 +1328,12 @@ interface TnMenuItem {
|
|
|
1259
1328
|
action?: () => void;
|
|
1260
1329
|
children?: TnMenuItem[];
|
|
1261
1330
|
shortcut?: string;
|
|
1331
|
+
/**
|
|
1332
|
+
* Marks this item as the currently-chosen option (e.g. the active sort key
|
|
1333
|
+
* or export format). Applies the `tn-menu-item--selected` class and an
|
|
1334
|
+
* `aria-current="true"` attribute. Visually distinct from focus/hover.
|
|
1335
|
+
*/
|
|
1336
|
+
selected?: boolean;
|
|
1262
1337
|
}
|
|
1263
1338
|
declare class TnMenuComponent {
|
|
1264
1339
|
items: _angular_core.InputSignal<TnMenuItem[]>;
|
|
@@ -1272,6 +1347,8 @@ declare class TnMenuComponent {
|
|
|
1272
1347
|
private overlay;
|
|
1273
1348
|
private viewContainerRef;
|
|
1274
1349
|
onMenuItemClick(item: TnMenuItem): void;
|
|
1350
|
+
private contentItems;
|
|
1351
|
+
constructor();
|
|
1275
1352
|
hasChildren: _angular_core.Signal<(item: TnMenuItem) => boolean>;
|
|
1276
1353
|
onMenuOpen(): void;
|
|
1277
1354
|
onMenuClose(): void;
|
|
@@ -1284,7 +1361,7 @@ declare class TnMenuComponent {
|
|
|
1284
1361
|
onContextMenu(event: MouseEvent): void;
|
|
1285
1362
|
trackByItemId(index: number, item: TnMenuItem): string;
|
|
1286
1363
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnMenuComponent, never>;
|
|
1287
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnMenuComponent, "tn-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "contextMenu": { "alias": "contextMenu"; "required": false; "isSignal": true; }; }, { "menuItemClick": "menuItemClick"; "menuOpen": "menuOpen"; "menuClose": "menuClose"; },
|
|
1364
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnMenuComponent, "tn-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "contextMenu": { "alias": "contextMenu"; "required": false; "isSignal": true; }; }, { "menuItemClick": "menuItemClick"; "menuOpen": "menuOpen"; "menuClose": "menuClose"; }, ["contentItems"], ["*", "tn-menu-item, .tn-menu-separator"], true, never>;
|
|
1288
1365
|
}
|
|
1289
1366
|
|
|
1290
1367
|
declare class TnCardComponent {
|
|
@@ -1301,6 +1378,12 @@ declare class TnCardComponent {
|
|
|
1301
1378
|
headerStatus: _angular_core.InputSignal<TnCardHeaderStatus | undefined>;
|
|
1302
1379
|
headerControl: _angular_core.InputSignal<TnCardControl | undefined>;
|
|
1303
1380
|
headerMenu: _angular_core.InputSignal<TnMenuItem[] | undefined>;
|
|
1381
|
+
/**
|
|
1382
|
+
* Test-id applied to the kebab-menu trigger button rendered when `headerMenu` is set.
|
|
1383
|
+
* Rendered under whichever attribute name is configured via `TN_TEST_ATTR`
|
|
1384
|
+
* (default `data-testid`).
|
|
1385
|
+
*/
|
|
1386
|
+
headerMenuTriggerTestId: _angular_core.InputSignal<string | undefined>;
|
|
1304
1387
|
primaryAction: _angular_core.InputSignal<TnCardAction | undefined>;
|
|
1305
1388
|
secondaryAction: _angular_core.InputSignal<TnCardAction | undefined>;
|
|
1306
1389
|
footerLink: _angular_core.InputSignal<TnCardFooterLink | undefined>;
|
|
@@ -1317,7 +1400,7 @@ declare class TnCardComponent {
|
|
|
1317
1400
|
onHeaderMenuItemClick(_item: TnMenuItem): void;
|
|
1318
1401
|
getStatusClass(type?: string): string;
|
|
1319
1402
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnCardComponent, never>;
|
|
1320
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnCardComponent, "tn-card", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "titleLink": { "alias": "titleLink"; "required": false; "isSignal": true; }; "elevation": { "alias": "elevation"; "required": false; "isSignal": true; }; "padding": { "alias": "padding"; "required": false; "isSignal": true; }; "padContent": { "alias": "padContent"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "background": { "alias": "background"; "required": false; "isSignal": true; }; "headerStatus": { "alias": "headerStatus"; "required": false; "isSignal": true; }; "headerControl": { "alias": "headerControl"; "required": false; "isSignal": true; }; "headerMenu": { "alias": "headerMenu"; "required": false; "isSignal": true; }; "primaryAction": { "alias": "primaryAction"; "required": false; "isSignal": true; }; "secondaryAction": { "alias": "secondaryAction"; "required": false; "isSignal": true; }; "footerLink": { "alias": "footerLink"; "required": false; "isSignal": true; }; }, {}, ["projectedHeader"], ["[tnCardHeader]", "*"], true, never>;
|
|
1403
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnCardComponent, "tn-card", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "titleLink": { "alias": "titleLink"; "required": false; "isSignal": true; }; "elevation": { "alias": "elevation"; "required": false; "isSignal": true; }; "padding": { "alias": "padding"; "required": false; "isSignal": true; }; "padContent": { "alias": "padContent"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "background": { "alias": "background"; "required": false; "isSignal": true; }; "headerStatus": { "alias": "headerStatus"; "required": false; "isSignal": true; }; "headerControl": { "alias": "headerControl"; "required": false; "isSignal": true; }; "headerMenu": { "alias": "headerMenu"; "required": false; "isSignal": true; }; "headerMenuTriggerTestId": { "alias": "headerMenuTriggerTestId"; "required": false; "isSignal": true; }; "primaryAction": { "alias": "primaryAction"; "required": false; "isSignal": true; }; "secondaryAction": { "alias": "secondaryAction"; "required": false; "isSignal": true; }; "footerLink": { "alias": "footerLink"; "required": false; "isSignal": true; }; }, {}, ["projectedHeader"], ["[tnCardHeader]", "*"], true, never>;
|
|
1321
1404
|
}
|
|
1322
1405
|
|
|
1323
1406
|
declare class TnExpansionPanelComponent {
|
|
@@ -1329,6 +1412,15 @@ declare class TnExpansionPanelComponent {
|
|
|
1329
1412
|
expanded: _angular_core.InputSignal<boolean>;
|
|
1330
1413
|
disabled: _angular_core.InputSignal<boolean>;
|
|
1331
1414
|
titleStyle: _angular_core.InputSignal<"body" | "header" | "link">;
|
|
1415
|
+
/**
|
|
1416
|
+
* Test-id applied to the panel's root element. Rendered under whichever attribute name
|
|
1417
|
+
* is configured via `TN_TEST_ATTR` (default `data-testid`).
|
|
1418
|
+
*/
|
|
1419
|
+
testId: _angular_core.InputSignal<string | undefined>;
|
|
1420
|
+
/**
|
|
1421
|
+
* Test-id applied to the expand/collapse toggle header button.
|
|
1422
|
+
*/
|
|
1423
|
+
toggleTestId: _angular_core.InputSignal<string | undefined>;
|
|
1332
1424
|
expandedChange: _angular_core.OutputEmitterRef<boolean>;
|
|
1333
1425
|
toggleEvent: _angular_core.OutputEmitterRef<void>;
|
|
1334
1426
|
private internalExpanded;
|
|
@@ -1337,7 +1429,7 @@ declare class TnExpansionPanelComponent {
|
|
|
1337
1429
|
toggle(): void;
|
|
1338
1430
|
classes: _angular_core.Signal<string[]>;
|
|
1339
1431
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnExpansionPanelComponent, never>;
|
|
1340
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnExpansionPanelComponent, "tn-expansion-panel", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "elevation": { "alias": "elevation"; "required": false; "isSignal": true; }; "padding": { "alias": "padding"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "background": { "alias": "background"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "titleStyle": { "alias": "titleStyle"; "required": false; "isSignal": true; }; }, { "expandedChange": "expandedChange"; "toggleEvent": "toggleEvent"; }, never, ["[slot=title]", "*"], true, never>;
|
|
1432
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnExpansionPanelComponent, "tn-expansion-panel", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "elevation": { "alias": "elevation"; "required": false; "isSignal": true; }; "padding": { "alias": "padding"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "background": { "alias": "background"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "titleStyle": { "alias": "titleStyle"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; "toggleTestId": { "alias": "toggleTestId"; "required": false; "isSignal": true; }; }, { "expandedChange": "expandedChange"; "toggleEvent": "toggleEvent"; }, never, ["[slot=title]", "*"], true, never>;
|
|
1341
1433
|
}
|
|
1342
1434
|
|
|
1343
1435
|
/**
|
|
@@ -1992,6 +2084,11 @@ declare class TnTabsComponent implements AfterContentInit, AfterViewInit, OnDest
|
|
|
1992
2084
|
selectedIndex: _angular_core.InputSignal<number>;
|
|
1993
2085
|
orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
|
|
1994
2086
|
highlightPosition: _angular_core.InputSignal<"top" | "bottom" | "left" | "right">;
|
|
2087
|
+
/**
|
|
2088
|
+
* Test-id applied to the tablist root element. Rendered under whichever attribute name
|
|
2089
|
+
* is configured via `TN_TEST_ATTR` (default `data-testid`).
|
|
2090
|
+
*/
|
|
2091
|
+
testId: _angular_core.InputSignal<string | undefined>;
|
|
1995
2092
|
selectedIndexChange: _angular_core.OutputEmitterRef<number>;
|
|
1996
2093
|
tabChange: _angular_core.OutputEmitterRef<TabChangeEvent>;
|
|
1997
2094
|
private internalSelectedIndex;
|
|
@@ -2017,7 +2114,7 @@ declare class TnTabsComponent implements AfterContentInit, AfterViewInit, OnDest
|
|
|
2017
2114
|
private focusTab;
|
|
2018
2115
|
classes: _angular_core.Signal<string>;
|
|
2019
2116
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnTabsComponent, never>;
|
|
2020
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnTabsComponent, "tn-tabs", never, { "selectedIndex": { "alias": "selectedIndex"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "highlightPosition": { "alias": "highlightPosition"; "required": false; "isSignal": true; }; }, { "selectedIndexChange": "selectedIndexChange"; "tabChange": "tabChange"; }, ["tabs", "panels"], ["tn-tab", "tn-tab-panel"], true, never>;
|
|
2117
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnTabsComponent, "tn-tabs", never, { "selectedIndex": { "alias": "selectedIndex"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "highlightPosition": { "alias": "highlightPosition"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, { "selectedIndexChange": "selectedIndexChange"; "tabChange": "tabChange"; }, ["tabs", "panels"], ["tn-tab", "tn-tab-panel"], true, never>;
|
|
2021
2118
|
}
|
|
2022
2119
|
|
|
2023
2120
|
/**
|
|
@@ -2378,6 +2475,55 @@ interface TabsHarnessFilters extends BaseHarnessFilters {
|
|
|
2378
2475
|
hasTab?: string | RegExp;
|
|
2379
2476
|
}
|
|
2380
2477
|
|
|
2478
|
+
/**
|
|
2479
|
+
* Projection-based menu item for use inside `<tn-menu>`.
|
|
2480
|
+
*
|
|
2481
|
+
* Two authoring modes:
|
|
2482
|
+
* 1. **Convenience** — set `label` (and optionally `icon`/`shortcut`); the
|
|
2483
|
+
* default icon + label + shortcut layout renders.
|
|
2484
|
+
* 2. **Custom content** — omit `label`; project arbitrary content via
|
|
2485
|
+
* `<ng-content>` (badges, two-line layouts, etc.).
|
|
2486
|
+
*
|
|
2487
|
+
* Existing `<tn-menu [items]="...">` consumers don't need this component;
|
|
2488
|
+
* the items-array API continues to work unchanged. Items-array entries and
|
|
2489
|
+
* projected `<tn-menu-item>` children render together inside one `<tn-menu>`.
|
|
2490
|
+
*
|
|
2491
|
+
* Subscribe to either the projected item's own `itemClick` output (preferred,
|
|
2492
|
+
* per-item handlers) or the parent menu's `menuItemClick` (uniform handler).
|
|
2493
|
+
* Trigger-driven menus close automatically on projected-item click.
|
|
2494
|
+
*
|
|
2495
|
+
* **Note on keyboard navigation:** projected items render as `role="menuitem"`
|
|
2496
|
+
* buttons but do not participate in `CdkMenu` arrow-key navigation (CdkMenuItem
|
|
2497
|
+
* requires its parent `CdkMenu` in the same injector tree, which projection
|
|
2498
|
+
* breaks). For menus that depend on arrow-key navigation between options, use
|
|
2499
|
+
* the `items` input form. Tab/Shift+Tab and Enter/Space activation still work.
|
|
2500
|
+
*
|
|
2501
|
+
* @example
|
|
2502
|
+
* ```html
|
|
2503
|
+
* <tn-menu>
|
|
2504
|
+
* <tn-menu-item label="JSON" [selected]="format === 'json'"
|
|
2505
|
+
* (itemClick)="setFormat('json')" />
|
|
2506
|
+
* <tn-menu-item label="CSV" [selected]="format === 'csv'"
|
|
2507
|
+
* (itemClick)="setFormat('csv')" />
|
|
2508
|
+
* </tn-menu>
|
|
2509
|
+
* ```
|
|
2510
|
+
*/
|
|
2511
|
+
declare class TnMenuItemComponent {
|
|
2512
|
+
id: _angular_core.InputSignal<string | undefined>;
|
|
2513
|
+
label: _angular_core.InputSignal<string | undefined>;
|
|
2514
|
+
icon: _angular_core.InputSignal<string | undefined>;
|
|
2515
|
+
iconLibrary: _angular_core.InputSignal<"material" | "mdi" | "custom" | "lucide" | undefined>;
|
|
2516
|
+
shortcut: _angular_core.InputSignal<string | undefined>;
|
|
2517
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
2518
|
+
selected: _angular_core.InputSignal<boolean>;
|
|
2519
|
+
testId: _angular_core.InputSignal<string | undefined>;
|
|
2520
|
+
itemClick: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
2521
|
+
resolvedTestId: _angular_core.Signal<string | undefined>;
|
|
2522
|
+
handleClick(event: MouseEvent): void;
|
|
2523
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnMenuItemComponent, never>;
|
|
2524
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnMenuItemComponent, "tn-menu-item", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconLibrary": { "alias": "iconLibrary"; "required": false; "isSignal": true; }; "shortcut": { "alias": "shortcut"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, ["*"], true, never>;
|
|
2525
|
+
}
|
|
2526
|
+
|
|
2381
2527
|
/**
|
|
2382
2528
|
* Directive that attaches a menu to any element.
|
|
2383
2529
|
* Usage: <button [tnMenuTriggerFor]="menu">Open Menu</button>
|
|
@@ -2500,6 +2646,24 @@ declare class TnMenuHarness extends ComponentHarness {
|
|
|
2500
2646
|
* Gets the number of menu items (excluding separators).
|
|
2501
2647
|
*/
|
|
2502
2648
|
getItemCount(): Promise<number>;
|
|
2649
|
+
/**
|
|
2650
|
+
* Checks whether a menu item is marked as the currently-selected option
|
|
2651
|
+
* (i.e. has `aria-current="true"`).
|
|
2652
|
+
*
|
|
2653
|
+
* @example
|
|
2654
|
+
* ```typescript
|
|
2655
|
+
* const menu = await rootLoader.getHarness(TnMenuHarness);
|
|
2656
|
+
* expect(await menu.isItemSelected({ label: 'JSON' })).toBe(true);
|
|
2657
|
+
* ```
|
|
2658
|
+
*/
|
|
2659
|
+
isItemSelected(filter: {
|
|
2660
|
+
label: string | RegExp;
|
|
2661
|
+
}): Promise<boolean>;
|
|
2662
|
+
/**
|
|
2663
|
+
* Gets the label of the currently-selected item, or `null` when no item is
|
|
2664
|
+
* marked as selected.
|
|
2665
|
+
*/
|
|
2666
|
+
getSelectedItemLabel(): Promise<string | null>;
|
|
2503
2667
|
}
|
|
2504
2668
|
/**
|
|
2505
2669
|
* A set of criteria that can be used to filter `TnMenuHarness` instances.
|
|
@@ -3494,6 +3658,32 @@ declare class TnListOptionComponent implements AfterContentInit {
|
|
|
3494
3658
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnListOptionComponent, "tn-list-option", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, ["[tnListIcon], [tnListAvatar]", "[tnListItemTitle], [tnListItemPrimary]", "*", "[tnListItemLine], [tnListItemSecondary]"], true, never>;
|
|
3495
3659
|
}
|
|
3496
3660
|
|
|
3661
|
+
/**
|
|
3662
|
+
* Primitive directive that writes a raw `testId` value to whichever attribute name has been
|
|
3663
|
+
* configured via {@link TN_TEST_ATTR} (default `data-testid`).
|
|
3664
|
+
*
|
|
3665
|
+
* Library components should use this directive instead of hard-coding `[attr.data-testid]` so
|
|
3666
|
+
* the attribute name remains centrally controlled and consumers with different conventions
|
|
3667
|
+
* (e.g. `data-test`) can opt in with a single root-level provider.
|
|
3668
|
+
*
|
|
3669
|
+
* @example
|
|
3670
|
+
* ```html
|
|
3671
|
+
* <button [tnTestId]="myTestId()">Click me</button>
|
|
3672
|
+
* ```
|
|
3673
|
+
*
|
|
3674
|
+
* Passing `null` / `undefined` / `''` removes the attribute entirely (avoids `data-testid=""`).
|
|
3675
|
+
*/
|
|
3676
|
+
declare class TnTestIdDirective {
|
|
3677
|
+
private readonly renderer;
|
|
3678
|
+
private readonly host;
|
|
3679
|
+
private readonly attrName;
|
|
3680
|
+
/** The raw test-id value to apply. Falsy values remove the attribute. */
|
|
3681
|
+
readonly testId: _angular_core.InputSignal<string | null | undefined>;
|
|
3682
|
+
constructor();
|
|
3683
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnTestIdDirective, never>;
|
|
3684
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TnTestIdDirective, "[tnTestId]", never, { "testId": { "alias": "tnTestId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
3685
|
+
}
|
|
3686
|
+
|
|
3497
3687
|
interface TnSelectionChange {
|
|
3498
3688
|
source: TnSelectionListComponent;
|
|
3499
3689
|
options: TnListOptionComponent[];
|
|
@@ -3517,7 +3707,7 @@ declare class TnSelectionListComponent implements ControlValueAccessor {
|
|
|
3517
3707
|
onOptionSelectionChange(): void;
|
|
3518
3708
|
get selectedOptions(): TnListOptionComponent[];
|
|
3519
3709
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnSelectionListComponent, never>;
|
|
3520
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnSelectionListComponent, "tn-selection-list", never, { "dense": { "alias": "dense"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, ["options"], ["*"], true,
|
|
3710
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnSelectionListComponent, "tn-selection-list", never, { "dense": { "alias": "dense"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, ["options"], ["*"], true, [{ directive: typeof TnTestIdDirective; inputs: { "tnTestId": "testId"; }; outputs: {}; }]>;
|
|
3521
3711
|
}
|
|
3522
3712
|
|
|
3523
3713
|
declare class TnHeaderCellDefDirective {
|
|
@@ -3614,7 +3804,7 @@ declare class TnTableComponent<T = unknown> implements OnInit {
|
|
|
3614
3804
|
getColumnDef(columnName: string): TnTableColumnDirective | undefined;
|
|
3615
3805
|
getCellValue(row: T, column: string): unknown;
|
|
3616
3806
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnTableComponent<any>, never>;
|
|
3617
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnTableComponent<any>, "tn-table", never, { "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "displayedColumns": { "alias": "displayedColumns"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "emptyIcon": { "alias": "emptyIcon"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; }, { "sortChange": "sortChange"; "selectionChange": "selectionChange"; }, ["columnDefs", "detailRowDef"], never, true,
|
|
3807
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnTableComponent<any>, "tn-table", never, { "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "displayedColumns": { "alias": "displayedColumns"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "emptyIcon": { "alias": "emptyIcon"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; }, { "sortChange": "sortChange"; "selectionChange": "selectionChange"; }, ["columnDefs", "detailRowDef"], never, true, [{ directive: typeof TnTestIdDirective; inputs: { "tnTestId": "testId"; }; outputs: {}; }]>;
|
|
3618
3808
|
}
|
|
3619
3809
|
|
|
3620
3810
|
/**
|
|
@@ -3790,7 +3980,7 @@ declare class TnTreeFlatDataSource<T, F> extends DataSource<F> {
|
|
|
3790
3980
|
declare class TnTreeComponent<T, K = T> extends CdkTree<T, K> {
|
|
3791
3981
|
constructor();
|
|
3792
3982
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnTreeComponent<any, any>, never>;
|
|
3793
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnTreeComponent<any, any>, "tn-tree", ["tnTree"], {}, {}, never, never, true,
|
|
3983
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnTreeComponent<any, any>, "tn-tree", ["tnTree"], {}, {}, never, never, true, [{ directive: typeof TnTestIdDirective; inputs: { "tnTestId": "testId"; }; outputs: {}; }]>;
|
|
3794
3984
|
}
|
|
3795
3985
|
|
|
3796
3986
|
declare class TnTreeNodeComponent<T, K = T> extends CdkTreeNode<T, K> {
|
|
@@ -3802,7 +3992,7 @@ declare class TnTreeNodeComponent<T, K = T> extends CdkTreeNode<T, K> {
|
|
|
3802
3992
|
/** Whether the tree node is expanded */
|
|
3803
3993
|
get isExpanded(): boolean;
|
|
3804
3994
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnTreeNodeComponent<any, any>, never>;
|
|
3805
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnTreeNodeComponent<any, any>, "tn-tree-node", ["tnTreeNode"], {}, {}, never, ["*"], true,
|
|
3995
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnTreeNodeComponent<any, any>, "tn-tree-node", ["tnTreeNode"], {}, {}, never, ["*"], true, [{ directive: typeof TnTestIdDirective; inputs: { "tnTestId": "testId"; }; outputs: {}; }]>;
|
|
3806
3996
|
}
|
|
3807
3997
|
|
|
3808
3998
|
declare class TnNestedTreeNodeComponent<T, K = T> extends CdkNestedTreeNode<T, K> {
|
|
@@ -4172,6 +4362,11 @@ interface DateRange {
|
|
|
4172
4362
|
declare class TnDateRangeInputComponent implements ControlValueAccessor, OnInit, OnDestroy {
|
|
4173
4363
|
disabled: _angular_core.InputSignal<boolean>;
|
|
4174
4364
|
placeholder: _angular_core.InputSignal<string>;
|
|
4365
|
+
/**
|
|
4366
|
+
* Test-id applied to the date-range-input container. Rendered under whichever attribute name
|
|
4367
|
+
* is configured via `TN_TEST_ATTR` (default `data-testid`).
|
|
4368
|
+
*/
|
|
4369
|
+
testId: _angular_core.InputSignal<string | undefined>;
|
|
4175
4370
|
private formDisabled;
|
|
4176
4371
|
isDisabled: _angular_core.Signal<boolean>;
|
|
4177
4372
|
startMonthRef: _angular_core.Signal<ElementRef<HTMLInputElement>>;
|
|
@@ -4220,7 +4415,7 @@ declare class TnDateRangeInputComponent implements ControlValueAccessor, OnInit,
|
|
|
4220
4415
|
close(): void;
|
|
4221
4416
|
private createOverlay;
|
|
4222
4417
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnDateRangeInputComponent, never>;
|
|
4223
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnDateRangeInputComponent, "tn-date-range-input", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4418
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnDateRangeInputComponent, "tn-date-range-input", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4224
4419
|
}
|
|
4225
4420
|
|
|
4226
4421
|
declare class TnCalendarComponent implements OnInit {
|
|
@@ -4260,7 +4455,7 @@ declare class TnCalendarComponent implements OnInit {
|
|
|
4260
4455
|
*/
|
|
4261
4456
|
resetInteractionState(): void;
|
|
4262
4457
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnCalendarComponent, never>;
|
|
4263
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnCalendarComponent, "tn-calendar", never, { "startView": { "alias": "startView"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "dateFilter": { "alias": "dateFilter"; "required": false; "isSignal": true; }; "rangeMode": { "alias": "rangeMode"; "required": false; "isSignal": true; }; "selectedRange": { "alias": "selectedRange"; "required": false; "isSignal": true; }; }, { "selectedChange": "selectedChange"; "activeDateChange": "activeDateChange"; "viewChanged": "viewChanged"; "selectedRangeChange": "selectedRangeChange"; }, never, never, true,
|
|
4458
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnCalendarComponent, "tn-calendar", never, { "startView": { "alias": "startView"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "dateFilter": { "alias": "dateFilter"; "required": false; "isSignal": true; }; "rangeMode": { "alias": "rangeMode"; "required": false; "isSignal": true; }; "selectedRange": { "alias": "selectedRange"; "required": false; "isSignal": true; }; }, { "selectedChange": "selectedChange"; "activeDateChange": "activeDateChange"; "viewChanged": "viewChanged"; "selectedRangeChange": "selectedRangeChange"; }, never, never, true, [{ directive: typeof TnTestIdDirective; inputs: { "tnTestId": "testId"; }; outputs: {}; }]>;
|
|
4264
4459
|
}
|
|
4265
4460
|
|
|
4266
4461
|
declare class TnCalendarHeaderComponent {
|
|
@@ -4372,6 +4567,11 @@ declare class TnDateInputComponent implements ControlValueAccessor, OnInit, OnDe
|
|
|
4372
4567
|
min: _angular_core.InputSignal<Date | undefined>;
|
|
4373
4568
|
max: _angular_core.InputSignal<Date | undefined>;
|
|
4374
4569
|
dateFilter: _angular_core.InputSignal<((date: Date) => boolean) | undefined>;
|
|
4570
|
+
/**
|
|
4571
|
+
* Test-id applied to the date-input container. Rendered under whichever attribute name
|
|
4572
|
+
* is configured via `TN_TEST_ATTR` (default `data-testid`).
|
|
4573
|
+
*/
|
|
4574
|
+
testId: _angular_core.InputSignal<string | undefined>;
|
|
4375
4575
|
private formDisabled;
|
|
4376
4576
|
isDisabled: _angular_core.Signal<boolean>;
|
|
4377
4577
|
monthRef: _angular_core.Signal<ElementRef<HTMLInputElement>>;
|
|
@@ -4409,7 +4609,7 @@ declare class TnDateInputComponent implements ControlValueAccessor, OnInit, OnDe
|
|
|
4409
4609
|
close(): void;
|
|
4410
4610
|
private createOverlay;
|
|
4411
4611
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnDateInputComponent, never>;
|
|
4412
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnDateInputComponent, "tn-date-input", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "dateFilter": { "alias": "dateFilter"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4612
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnDateInputComponent, "tn-date-input", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "dateFilter": { "alias": "dateFilter"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4413
4613
|
}
|
|
4414
4614
|
|
|
4415
4615
|
/**
|
|
@@ -4674,6 +4874,11 @@ declare class TnSliderComponent implements ControlValueAccessor, OnDestroy, Afte
|
|
|
4674
4874
|
labelPrefix: _angular_core.InputSignal<string>;
|
|
4675
4875
|
labelSuffix: _angular_core.InputSignal<string>;
|
|
4676
4876
|
labelType: _angular_core.InputSignal<LabelType>;
|
|
4877
|
+
/**
|
|
4878
|
+
* Test-id applied to the slider's root container. Rendered under whichever attribute name
|
|
4879
|
+
* is configured via `TN_TEST_ATTR` (default `data-testid`).
|
|
4880
|
+
*/
|
|
4881
|
+
testId: _angular_core.InputSignal<string | undefined>;
|
|
4677
4882
|
thumbDirective: _angular_core.Signal<TnSliderThumbDirective>;
|
|
4678
4883
|
sliderContainer: _angular_core.Signal<ElementRef<HTMLDivElement>>;
|
|
4679
4884
|
thumbVisual: _angular_core.Signal<ElementRef<HTMLDivElement>>;
|
|
@@ -4709,7 +4914,7 @@ declare class TnSliderComponent implements ControlValueAccessor, OnDestroy, Afte
|
|
|
4709
4914
|
private onInteractionStart;
|
|
4710
4915
|
private onInteractionEnd;
|
|
4711
4916
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnSliderComponent, never>;
|
|
4712
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnSliderComponent, "tn-slider", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "labelPrefix": { "alias": "labelPrefix"; "required": false; "isSignal": true; }; "labelSuffix": { "alias": "labelSuffix"; "required": false; "isSignal": true; }; "labelType": { "alias": "labelType"; "required": false; "isSignal": true; }; }, {}, ["thumbDirective"], ["*"], true, never>;
|
|
4917
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnSliderComponent, "tn-slider", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "labelPrefix": { "alias": "labelPrefix"; "required": false; "isSignal": true; }; "labelSuffix": { "alias": "labelSuffix"; "required": false; "isSignal": true; }; "labelType": { "alias": "labelType"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, {}, ["thumbDirective"], ["*"], true, never>;
|
|
4713
4918
|
}
|
|
4714
4919
|
|
|
4715
4920
|
declare class TnSliderWithLabelDirective implements OnInit, OnDestroy {
|
|
@@ -4734,6 +4939,11 @@ declare class TnButtonToggleGroupComponent implements ControlValueAccessor {
|
|
|
4734
4939
|
name: _angular_core.InputSignal<string>;
|
|
4735
4940
|
ariaLabel: _angular_core.InputSignal<string>;
|
|
4736
4941
|
ariaLabelledby: _angular_core.InputSignal<string>;
|
|
4942
|
+
/**
|
|
4943
|
+
* Test-id applied to the group root. Rendered under whichever attribute name
|
|
4944
|
+
* is configured via `TN_TEST_ATTR` (default `data-testid`).
|
|
4945
|
+
*/
|
|
4946
|
+
testId: _angular_core.InputSignal<string | undefined>;
|
|
4737
4947
|
change: _angular_core.OutputEmitterRef<{
|
|
4738
4948
|
source: TnButtonToggleComponent;
|
|
4739
4949
|
value: unknown;
|
|
@@ -4755,7 +4965,7 @@ declare class TnButtonToggleGroupComponent implements ControlValueAccessor {
|
|
|
4755
4965
|
private updateTogglesFromValue;
|
|
4756
4966
|
private updateTogglesFromValues;
|
|
4757
4967
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnButtonToggleGroupComponent, never>;
|
|
4758
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnButtonToggleGroupComponent, "tn-button-toggle-group", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; }, { "change": "change"; }, ["buttonToggles"], ["*"], true, never>;
|
|
4968
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnButtonToggleGroupComponent, "tn-button-toggle-group", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, { "change": "change"; }, ["buttonToggles"], ["*"], true, never>;
|
|
4759
4969
|
}
|
|
4760
4970
|
|
|
4761
4971
|
declare class TnButtonToggleComponent implements ControlValueAccessor {
|
|
@@ -4767,6 +4977,11 @@ declare class TnButtonToggleComponent implements ControlValueAccessor {
|
|
|
4767
4977
|
checked: _angular_core.WritableSignal<boolean>;
|
|
4768
4978
|
ariaLabel: _angular_core.InputSignal<string>;
|
|
4769
4979
|
ariaLabelledby: _angular_core.InputSignal<string>;
|
|
4980
|
+
/**
|
|
4981
|
+
* Test-id applied to the rendered toggle button. Rendered under whichever attribute name
|
|
4982
|
+
* is configured via `TN_TEST_ATTR` (default `data-testid`).
|
|
4983
|
+
*/
|
|
4984
|
+
testId: _angular_core.InputSignal<string | undefined>;
|
|
4770
4985
|
change: _angular_core.OutputEmitterRef<{
|
|
4771
4986
|
source: TnButtonToggleComponent;
|
|
4772
4987
|
value: unknown;
|
|
@@ -4786,7 +5001,7 @@ declare class TnButtonToggleComponent implements ControlValueAccessor {
|
|
|
4786
5001
|
_markForCheck(): void;
|
|
4787
5002
|
_markForUncheck(): void;
|
|
4788
5003
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnButtonToggleComponent, never>;
|
|
4789
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnButtonToggleComponent, "tn-button-toggle", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; }, { "change": "change"; }, never, ["*"], true, never>;
|
|
5004
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnButtonToggleComponent, "tn-button-toggle", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, { "change": "change"; }, never, ["*"], true, never>;
|
|
4790
5005
|
}
|
|
4791
5006
|
|
|
4792
5007
|
/**
|
|
@@ -5285,6 +5500,15 @@ declare class TnSidePanelComponent implements OnDestroy {
|
|
|
5285
5500
|
hasBackdrop: _angular_core.InputSignal<boolean>;
|
|
5286
5501
|
closeOnBackdropClick: _angular_core.InputSignal<boolean>;
|
|
5287
5502
|
closeOnEscape: _angular_core.InputSignal<boolean>;
|
|
5503
|
+
/**
|
|
5504
|
+
* Test-id applied to the panel's root overlay element. Rendered under whichever attribute
|
|
5505
|
+
* name is configured via `TN_TEST_ATTR` (default `data-testid`).
|
|
5506
|
+
*/
|
|
5507
|
+
testId: _angular_core.InputSignal<string | undefined>;
|
|
5508
|
+
/**
|
|
5509
|
+
* Test-id applied to the panel's close (×) button.
|
|
5510
|
+
*/
|
|
5511
|
+
closeButtonTestId: _angular_core.InputSignal<string | undefined>;
|
|
5288
5512
|
opened: _angular_core.OutputEmitterRef<void>;
|
|
5289
5513
|
closed: _angular_core.OutputEmitterRef<void>;
|
|
5290
5514
|
private actionContent;
|
|
@@ -5301,7 +5525,7 @@ declare class TnSidePanelComponent implements OnDestroy {
|
|
|
5301
5525
|
private restoreFocus;
|
|
5302
5526
|
private registerMdiIcons;
|
|
5303
5527
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnSidePanelComponent, never>;
|
|
5304
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnSidePanelComponent, "tn-side-panel", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "opened": "opened"; "closed": "closed"; }, ["actionContent"], ["[tnSidePanelHeaderAction]", "*", "[tnSidePanelAction]"], true, never>;
|
|
5528
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnSidePanelComponent, "tn-side-panel", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; "closeButtonTestId": { "alias": "closeButtonTestId"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "opened": "opened"; "closed": "closed"; }, ["actionContent"], ["[tnSidePanelHeaderAction]", "*", "[tnSidePanelAction]"], true, never>;
|
|
5305
5529
|
}
|
|
5306
5530
|
|
|
5307
5531
|
interface SidePanelHarnessFilters extends BaseHarnessFilters {
|
|
@@ -5353,6 +5577,11 @@ declare class TnStepperComponent {
|
|
|
5353
5577
|
orientation: _angular_core.InputSignal<"auto" | "horizontal" | "vertical">;
|
|
5354
5578
|
linear: _angular_core.InputSignal<boolean>;
|
|
5355
5579
|
selectedIndex: _angular_core.ModelSignal<number>;
|
|
5580
|
+
/**
|
|
5581
|
+
* Test-id applied to the stepper root. Rendered under whichever attribute name
|
|
5582
|
+
* is configured via `TN_TEST_ATTR` (default `data-testid`).
|
|
5583
|
+
*/
|
|
5584
|
+
testId: _angular_core.InputSignal<string | undefined>;
|
|
5356
5585
|
selectionChange: _angular_core.OutputEmitterRef<{
|
|
5357
5586
|
selectedIndex: number;
|
|
5358
5587
|
previouslySelectedIndex: number;
|
|
@@ -5374,7 +5603,7 @@ declare class TnStepperComponent {
|
|
|
5374
5603
|
previous(): void;
|
|
5375
5604
|
_trackByStepIndex(index: number): number;
|
|
5376
5605
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnStepperComponent, never>;
|
|
5377
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnStepperComponent, "tn-stepper", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; "isSignal": true; }; }, { "selectedIndex": "selectedIndexChange"; "selectionChange": "selectionChange"; "completed": "completed"; }, ["steps"], never, true, never>;
|
|
5606
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnStepperComponent, "tn-stepper", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, { "selectedIndex": "selectedIndexChange"; "selectionChange": "selectionChange"; "completed": "completed"; }, ["steps"], never, true, never>;
|
|
5378
5607
|
}
|
|
5379
5608
|
|
|
5380
5609
|
declare class TnFilePickerComponent implements ControlValueAccessor, OnInit, OnDestroy {
|
|
@@ -5386,6 +5615,11 @@ declare class TnFilePickerComponent implements ControlValueAccessor, OnInit, OnD
|
|
|
5386
5615
|
allowManualInput: _angular_core.InputSignal<boolean>;
|
|
5387
5616
|
placeholder: _angular_core.InputSignal<string>;
|
|
5388
5617
|
disabled: _angular_core.InputSignal<boolean>;
|
|
5618
|
+
/**
|
|
5619
|
+
* Test-id applied to the file-picker container. Rendered under whichever attribute name
|
|
5620
|
+
* is configured via `TN_TEST_ATTR` (default `data-testid`).
|
|
5621
|
+
*/
|
|
5622
|
+
testId: _angular_core.InputSignal<string | undefined>;
|
|
5389
5623
|
startPath: _angular_core.InputSignal<string>;
|
|
5390
5624
|
rootPath: _angular_core.InputSignal<string | undefined>;
|
|
5391
5625
|
fileExtensions: _angular_core.InputSignal<string[] | undefined>;
|
|
@@ -5444,7 +5678,7 @@ declare class TnFilePickerComponent implements ControlValueAccessor, OnInit, OnD
|
|
|
5444
5678
|
private emitError;
|
|
5445
5679
|
private createOverlay;
|
|
5446
5680
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnFilePickerComponent, never>;
|
|
5447
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnFilePickerComponent, "tn-file-picker", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "multiSelect": { "alias": "multiSelect"; "required": false; "isSignal": true; }; "allowCreate": { "alias": "allowCreate"; "required": false; "isSignal": true; }; "allowDatasetCreate": { "alias": "allowDatasetCreate"; "required": false; "isSignal": true; }; "allowZvolCreate": { "alias": "allowZvolCreate"; "required": false; "isSignal": true; }; "allowManualInput": { "alias": "allowManualInput"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "startPath": { "alias": "startPath"; "required": false; "isSignal": true; }; "rootPath": { "alias": "rootPath"; "required": false; "isSignal": true; }; "fileExtensions": { "alias": "fileExtensions"; "required": false; "isSignal": true; }; "callbacks": { "alias": "callbacks"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "pathChange": "pathChange"; "createFolder": "createFolder"; "error": "error"; }, never, never, true, never>;
|
|
5681
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnFilePickerComponent, "tn-file-picker", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "multiSelect": { "alias": "multiSelect"; "required": false; "isSignal": true; }; "allowCreate": { "alias": "allowCreate"; "required": false; "isSignal": true; }; "allowDatasetCreate": { "alias": "allowDatasetCreate"; "required": false; "isSignal": true; }; "allowZvolCreate": { "alias": "allowZvolCreate"; "required": false; "isSignal": true; }; "allowManualInput": { "alias": "allowManualInput"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; "startPath": { "alias": "startPath"; "required": false; "isSignal": true; }; "rootPath": { "alias": "rootPath"; "required": false; "isSignal": true; }; "fileExtensions": { "alias": "fileExtensions"; "required": false; "isSignal": true; }; "callbacks": { "alias": "callbacks"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "pathChange": "pathChange"; "createFolder": "createFolder"; "error": "error"; }, never, never, true, never>;
|
|
5448
5682
|
}
|
|
5449
5683
|
|
|
5450
5684
|
declare class TnFilePickerPopupComponent implements OnInit, AfterViewInit, AfterViewChecked {
|
|
@@ -5535,14 +5769,20 @@ declare class TnEmptyComponent {
|
|
|
5535
5769
|
description: _angular_core.InputSignal<string | undefined>;
|
|
5536
5770
|
icon: _angular_core.InputSignal<string | undefined>;
|
|
5537
5771
|
iconLibrary: _angular_core.InputSignal<IconLibraryType>;
|
|
5772
|
+
/**
|
|
5773
|
+
* Overrides the icon size derived from `size`. Accepts any valid CSS size value
|
|
5774
|
+
* (e.g. `'48px'`, `'3rem'`). Use this when the variant presets are too small for an
|
|
5775
|
+
* empty-state illustration. When unset, the icon falls back to the `size`-based preset.
|
|
5776
|
+
*/
|
|
5777
|
+
iconSize: _angular_core.InputSignal<string | undefined>;
|
|
5538
5778
|
actionText: _angular_core.InputSignal<string | undefined>;
|
|
5539
5779
|
bordered: _angular_core.InputSignal<boolean>;
|
|
5540
5780
|
size: _angular_core.InputSignal<TnEmptySize>;
|
|
5541
5781
|
onAction: _angular_core.OutputEmitterRef<void>;
|
|
5542
5782
|
protected hasAction: _angular_core.Signal<boolean>;
|
|
5543
|
-
|
|
5783
|
+
protected iconSizePreset: _angular_core.Signal<"lg" | "xl">;
|
|
5544
5784
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnEmptyComponent, never>;
|
|
5545
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnEmptyComponent, "tn-empty", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconLibrary": { "alias": "iconLibrary"; "required": false; "isSignal": true; }; "actionText": { "alias": "actionText"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "onAction": "onAction"; }, never, never, true, never>;
|
|
5785
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnEmptyComponent, "tn-empty", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconLibrary": { "alias": "iconLibrary"; "required": false; "isSignal": true; }; "iconSize": { "alias": "iconSize"; "required": false; "isSignal": true; }; "actionText": { "alias": "actionText"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "onAction": "onAction"; }, never, never, true, never>;
|
|
5546
5786
|
}
|
|
5547
5787
|
|
|
5548
5788
|
/**
|
|
@@ -5883,6 +6123,32 @@ declare class TnKeyboardShortcutService {
|
|
|
5883
6123
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<TnKeyboardShortcutService>;
|
|
5884
6124
|
}
|
|
5885
6125
|
|
|
6126
|
+
/**
|
|
6127
|
+
* Test-id attribute names supported by the library.
|
|
6128
|
+
*
|
|
6129
|
+
* - `'data-testid'` is the modern industry default and the library's out-of-the-box behavior.
|
|
6130
|
+
* - `'data-test'` exists for consumers that have an established convention they don't want to disrupt
|
|
6131
|
+
* (notably webui, which has thousands of selectors targeting `data-test`).
|
|
6132
|
+
*/
|
|
6133
|
+
type TnTestAttrName = 'data-test' | 'data-testid';
|
|
6134
|
+
/**
|
|
6135
|
+
* Controls which attribute name the library renders `testId` values to.
|
|
6136
|
+
*
|
|
6137
|
+
* Defaults to `'data-testid'`. Consumers can override at the application root:
|
|
6138
|
+
*
|
|
6139
|
+
* ```ts
|
|
6140
|
+
* bootstrapApplication(AppComponent, {
|
|
6141
|
+
* providers: [
|
|
6142
|
+
* { provide: TN_TEST_ATTR, useValue: 'data-test' },
|
|
6143
|
+
* ],
|
|
6144
|
+
* });
|
|
6145
|
+
* ```
|
|
6146
|
+
*
|
|
6147
|
+
* Every component-level `testId` input and every `[tnTestId]` directive usage reads this token
|
|
6148
|
+
* so that a single override switches the entire library consistently.
|
|
6149
|
+
*/
|
|
6150
|
+
declare const TN_TEST_ATTR: InjectionToken<TnTestAttrName>;
|
|
6151
|
+
|
|
5886
6152
|
/**
|
|
5887
6153
|
* Enum of available theme names.
|
|
5888
6154
|
* Use these constants instead of hardcoded strings.
|
|
@@ -6077,5 +6343,5 @@ declare const TN_THEME_DEFINITIONS: readonly TnThemeDefinition[];
|
|
|
6077
6343
|
*/
|
|
6078
6344
|
declare const THEME_MAP: Map<TnTheme, TnThemeDefinition>;
|
|
6079
6345
|
|
|
6080
|
-
export { CommonShortcuts, DEFAULT_THEME, DiskIconComponent, DiskType, FileSizePipe, InputType, LIGHT_THEME, LinuxModifierKeys, LinuxShortcuts, ModifierKeys, QuickShortcuts, ShortcutBuilder, StripMntPrefixPipe, THEME_MAP, THEME_STORAGE_KEY, TN_THEME_DEFINITIONS, TnAutocompleteComponent, TnAutocompleteHarness, TnBannerActionDirective, TnBannerComponent, TnBannerHarness, TnBrandedSpinnerComponent, TnButtonComponent, TnButtonHarness, TnButtonToggleComponent, TnButtonToggleGroupComponent, TnButtonToggleGroupHarness, TnButtonToggleHarness, TnCalendarComponent, TnCalendarHeaderComponent, TnCardComponent, TnCardHeaderDirective, TnCellDefDirective, TnCheckboxComponent, TnCheckboxHarness, TnCheckboxLabelDirective, TnChipComponent, TnConfirmDialogComponent, TnDateInputComponent, TnDateInputHarness, TnDateRangeInputComponent, TnDateRangeInputHarness, TnDetailRowDefDirective, TnDialog, TnDialogHarness, TnDialogShellComponent, TnDialogTesting, TnDividerComponent, TnDividerDirective, TnDrawerComponent, TnDrawerContainerComponent, TnDrawerContainerHarness, TnDrawerContentComponent, TnDrawerHarness, TnEmptyComponent, TnEmptyHarness, TnExpansionPanelComponent, TnExpansionPanelHarness, TnFilePickerComponent, TnFilePickerPopupComponent, TnFormFieldComponent, TnFormFieldHarness, TnHeaderCellDefDirective, TnIconButtonComponent, TnIconButtonHarness, TnIconComponent, TnIconHarness, TnIconRegistryService, TnIconTesting, TnInputComponent, TnInputDirective, TnInputHarness, TnKeyboardShortcutComponent, TnKeyboardShortcutService, TnListAvatarDirective, TnListComponent, TnListIconDirective, TnListItemComponent, TnListItemLineDirective, TnListItemPrimaryDirective, TnListItemSecondaryDirective, TnListItemTitleDirective, TnListItemTrailingDirective, TnListOptionComponent, TnListSubheaderComponent, TnMenuActivateHoverDirective, TnMenuComponent, TnMenuHarness, TnMenuTesting, TnMenuTriggerDirective, TnMonthViewComponent, TnMultiYearViewComponent, TnNestedTreeNodeComponent, TnParticleProgressBarComponent, TnProgressBarComponent, TnRadioComponent, TnRadioHarness, TnSelectComponent, TnSelectHarness, TnSelectionListComponent, TnSidePanelActionDirective, TnSidePanelComponent, TnSidePanelHarness, TnSidePanelHeaderActionDirective, TnSlideToggleComponent, TnSlideToggleHarness, TnSliderComponent, TnSliderThumbDirective, TnSliderWithLabelDirective, TnSpinnerComponent, TnSpriteLoaderService, TnStepComponent, TnStepperComponent, TnTabComponent, TnTabHarness, TnTabPanelComponent, TnTabPanelHarness, TnTableColumnDirective, TnTableComponent, TnTableHarness, TnTabsComponent, TnTabsHarness, TnTheme, TnThemeService, TnTimeInputComponent, TnToastComponent, TnToastMock, TnToastPosition, TnToastRef, TnToastService, TnToastTesting, TnToastType, TnTooltipComponent, TnTooltipDirective, TnTreeComponent, TnTreeFlatDataSource, TnTreeFlattener, TnTreeNodeComponent, TnTreeNodeOutletDirective, TruncatePathPipe, WindowsModifierKeys, WindowsShortcuts, createLucideLibrary, createShortcut, defaultSpriteBasePath, defaultSpriteConfigPath, libIconMarker, registerLucideIcons, setupLucideIntegration, tnIconMarker };
|
|
6081
|
-
export type { AutocompleteHarnessFilters, BannerHarnessFilters, ButtonHarnessFilters, ButtonToggleHarnessFilters, CalendarCell, CheckboxHarnessFilters, ChipColor, CreateFolderEvent, DateInputHarnessFilters, DateRange, DateRangeInputHarnessFilters, DialogHarnessFilters, EmptyHarnessFilters, ExpansionPanelHarnessFilters, FilePickerCallbacks, FilePickerError, FilePickerMode, FileSystemItem, FormFieldHarnessFilters, IconButtonHarnessFilters, IconHarnessFilters, IconLibrary, IconLibraryType, IconResult, IconSize, IconSource, IconTestingMockOverrides, InputHarnessFilters, KeyCombination, LabelType, LucideIconOptions, MenuHarnessFilters, MockIconRegistry, MockSpriteLoader, PathSegment, PlatformType, ProgressBarMode, RadioHarnessFilters, ResolvedIcon, SelectHarnessFilters, ShortcutHandler, SidePanelHarnessFilters, SlideToggleColor, SlideToggleHarnessFilters, SpinnerMode, SpriteConfig, SubscriptSizing, TabChangeEvent, TabHarnessFilters, TabPanelHarnessFilters, TabsHarnessFilters, TnBannerType, TnButtonToggleType, TnCardAction, TnCardControl, TnCardFooterLink, TnCardHeaderStatus, TnConfirmDialogData, TnDialogDefaults, TnDialogOpenTarget, TnDrawerMode, TnDrawerPosition, TnEmptySize, TnFlatTreeNode, TnMenuItem, TnSelectOption, TnSelectOptionGroup, TnSelectionChange, TnSortEvent, TnTableDataSource, TnTableHarnessFilters, TnThemeDefinition, TnToastCall, TnToastConfig, TooltipPosition, YearCell };
|
|
6346
|
+
export { CommonShortcuts, DEFAULT_THEME, DiskIconComponent, DiskType, FileSizePipe, InputType, LIGHT_THEME, LinuxModifierKeys, LinuxShortcuts, ModifierKeys, QuickShortcuts, ShortcutBuilder, StripMntPrefixPipe, THEME_MAP, THEME_STORAGE_KEY, TN_TEST_ATTR, TN_THEME_DEFINITIONS, TnAutocompleteComponent, TnAutocompleteHarness, TnBannerActionDirective, TnBannerComponent, TnBannerHarness, TnBrandedSpinnerComponent, TnButtonComponent, TnButtonHarness, TnButtonToggleComponent, TnButtonToggleGroupComponent, TnButtonToggleGroupHarness, TnButtonToggleHarness, TnCalendarComponent, TnCalendarHeaderComponent, TnCardComponent, TnCardHeaderDirective, TnCellDefDirective, TnCheckboxComponent, TnCheckboxHarness, TnCheckboxLabelDirective, TnChipComponent, TnConfirmDialogComponent, TnDateInputComponent, TnDateInputHarness, TnDateRangeInputComponent, TnDateRangeInputHarness, TnDetailRowDefDirective, TnDialog, TnDialogHarness, TnDialogShellComponent, TnDialogTesting, TnDividerComponent, TnDividerDirective, TnDrawerComponent, TnDrawerContainerComponent, TnDrawerContainerHarness, TnDrawerContentComponent, TnDrawerHarness, TnEmptyComponent, TnEmptyHarness, TnExpansionPanelComponent, TnExpansionPanelHarness, TnFilePickerComponent, TnFilePickerPopupComponent, TnFormFieldComponent, TnFormFieldHarness, TnHeaderCellDefDirective, TnIconButtonComponent, TnIconButtonHarness, TnIconComponent, TnIconHarness, TnIconRegistryService, TnIconTesting, TnInputComponent, TnInputDirective, TnInputHarness, TnKeyboardShortcutComponent, TnKeyboardShortcutService, TnListAvatarDirective, TnListComponent, TnListIconDirective, TnListItemComponent, TnListItemLineDirective, TnListItemPrimaryDirective, TnListItemSecondaryDirective, TnListItemTitleDirective, TnListItemTrailingDirective, TnListOptionComponent, TnListSubheaderComponent, TnMenuActivateHoverDirective, TnMenuComponent, TnMenuHarness, TnMenuItemComponent, TnMenuTesting, TnMenuTriggerDirective, TnMonthViewComponent, TnMultiYearViewComponent, TnNestedTreeNodeComponent, TnParticleProgressBarComponent, TnProgressBarComponent, TnRadioComponent, TnRadioHarness, TnSelectComponent, TnSelectHarness, TnSelectionListComponent, TnSidePanelActionDirective, TnSidePanelComponent, TnSidePanelHarness, TnSidePanelHeaderActionDirective, TnSlideToggleComponent, TnSlideToggleHarness, TnSliderComponent, TnSliderThumbDirective, TnSliderWithLabelDirective, TnSpinnerComponent, TnSpriteLoaderService, TnStepComponent, TnStepperComponent, TnTabComponent, TnTabHarness, TnTabPanelComponent, TnTabPanelHarness, TnTableColumnDirective, TnTableComponent, TnTableHarness, TnTabsComponent, TnTabsHarness, TnTestIdDirective, TnTheme, TnThemeService, TnTimeInputComponent, TnToastComponent, TnToastMock, TnToastPosition, TnToastRef, TnToastService, TnToastTesting, TnToastType, TnTooltipComponent, TnTooltipDirective, TnTreeComponent, TnTreeFlatDataSource, TnTreeFlattener, TnTreeNodeComponent, TnTreeNodeOutletDirective, TruncatePathPipe, WindowsModifierKeys, WindowsShortcuts, createLucideLibrary, createShortcut, defaultSpriteBasePath, defaultSpriteConfigPath, libIconMarker, registerLucideIcons, setupLucideIntegration, tnIconMarker };
|
|
6347
|
+
export type { AutocompleteHarnessFilters, BannerHarnessFilters, ButtonHarnessFilters, ButtonToggleHarnessFilters, CalendarCell, CheckboxHarnessFilters, ChipColor, CreateFolderEvent, DateInputHarnessFilters, DateRange, DateRangeInputHarnessFilters, DialogHarnessFilters, EmptyHarnessFilters, ExpansionPanelHarnessFilters, FilePickerCallbacks, FilePickerError, FilePickerMode, FileSystemItem, FormFieldHarnessFilters, IconButtonHarnessFilters, IconHarnessFilters, IconLibrary, IconLibraryType, IconResult, IconSize, IconSource, IconTestingMockOverrides, InputHarnessFilters, KeyCombination, LabelType, LucideIconOptions, MenuHarnessFilters, MockIconRegistry, MockSpriteLoader, PathSegment, PlatformType, ProgressBarMode, RadioHarnessFilters, ResolvedIcon, SelectHarnessFilters, ShortcutHandler, SidePanelHarnessFilters, SlideToggleColor, SlideToggleHarnessFilters, SpinnerMode, SpriteConfig, SubscriptSizing, TabChangeEvent, TabHarnessFilters, TabPanelHarnessFilters, TabsHarnessFilters, TnBannerType, TnButtonToggleType, TnCardAction, TnCardControl, TnCardFooterLink, TnCardHeaderStatus, TnConfirmDialogData, TnDialogDefaults, TnDialogOpenTarget, TnDrawerMode, TnDrawerPosition, TnEmptySize, TnFlatTreeNode, TnMenuItem, TnSelectOption, TnSelectOptionGroup, TnSelectionChange, TnSortEvent, TnTableDataSource, TnTableHarnessFilters, TnTestAttrName, TnThemeDefinition, TnToastCall, TnToastConfig, TooltipPosition, YearCell };
|