@truenas/ui-components 0.7.7 → 0.7.9
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/package.json
CHANGED
|
@@ -54,8 +54,8 @@ declare function kebabTestSegment(part: string | number): string;
|
|
|
54
54
|
* re-implemented at each call site.
|
|
55
55
|
*
|
|
56
56
|
* Note this is *base-first*: the suffix trails the base. Fixed chrome whose role
|
|
57
|
-
* should lead (e.g. `tn-dialog-shell`'s `button-close-<base>`
|
|
58
|
-
* manually instead of calling this.
|
|
57
|
+
* should lead (e.g. `tn-dialog-shell`'s `button-close-<base>` and
|
|
58
|
+
* `dialog-title-<base>`) prepends the role manually instead of calling this.
|
|
59
59
|
*
|
|
60
60
|
* Falsy segments are preserved here (not filtered) so `composeTestId` can apply
|
|
61
61
|
* its own drop/scoping rules — `scopeTestId(undefined, 'edit')` yields
|
|
@@ -1840,6 +1840,16 @@ declare class TnBannerComponent {
|
|
|
1840
1840
|
message: _angular_core.InputSignal<string | undefined>;
|
|
1841
1841
|
type: _angular_core.InputSignal<TnBannerType>;
|
|
1842
1842
|
bordered: _angular_core.InputSignal<boolean>;
|
|
1843
|
+
/**
|
|
1844
|
+
* Semantic base for the banner's test id, rendered onto the banner root as
|
|
1845
|
+
* `banner-<testId>` through {@link TnTestIdDirective} — so the value follows
|
|
1846
|
+
* the library's own naming and honours `TN_TEST_ATTR`.
|
|
1847
|
+
*
|
|
1848
|
+
* The root, rather than the host element, because that is what carries the
|
|
1849
|
+
* live-region role: the element a test asserts a warning on is the same one
|
|
1850
|
+
* assistive tech announces.
|
|
1851
|
+
*/
|
|
1852
|
+
testId: _angular_core.InputSignal<TnTestIdValue>;
|
|
1843
1853
|
constructor();
|
|
1844
1854
|
/**
|
|
1845
1855
|
* Register all MDI icons used by the banner component
|
|
@@ -1865,7 +1875,7 @@ declare class TnBannerComponent {
|
|
|
1865
1875
|
*/
|
|
1866
1876
|
classes: _angular_core.Signal<string[]>;
|
|
1867
1877
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnBannerComponent, never>;
|
|
1868
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnBannerComponent, "tn-banner", never, { "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; }, {}, ["actionContent"], ["*", "[tnBannerAction]"], true, never>;
|
|
1878
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnBannerComponent, "tn-banner", never, { "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, {}, ["actionContent"], ["*", "[tnBannerAction]"], true, never>;
|
|
1869
1879
|
}
|
|
1870
1880
|
|
|
1871
1881
|
/**
|
|
@@ -8819,6 +8829,14 @@ declare class TnListComponent {
|
|
|
8819
8829
|
* The primary-text slot is the deliberate exception — it has no gate, so
|
|
8820
8830
|
* `[tnListItemTitle]` and `[tnListItemPrimary]` render either way. See the
|
|
8821
8831
|
* comment in `list-item.component.html` for why the asymmetry is there.
|
|
8832
|
+
*
|
|
8833
|
+
* `[testId]` names the row for automation. It lands on the host, which is both
|
|
8834
|
+
* the click target (`(click)` is a host binding) and the `listitem` — so one id
|
|
8835
|
+
* addresses the row whether a suite clicks it or reads what it renders. The
|
|
8836
|
+
* value is written verbatim, with no element-type prefix, matching the other
|
|
8837
|
+
* components whose host *is* the target (`tn-tree-node`, `tn-table`): a row of
|
|
8838
|
+
* a list is not a control whose type the library can name, and its meaning
|
|
8839
|
+
* comes from the list it sits in, which only the consumer knows.
|
|
8822
8840
|
*/
|
|
8823
8841
|
declare class TnListItemComponent {
|
|
8824
8842
|
disabled: _angular_core.InputSignal<boolean>;
|
|
@@ -8843,7 +8861,7 @@ declare class TnListItemComponent {
|
|
|
8843
8861
|
hasThirdText: _angular_core.Signal<boolean>;
|
|
8844
8862
|
onClick(event: Event): void;
|
|
8845
8863
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnListItemComponent, never>;
|
|
8846
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnListItemComponent, "tn-list-item", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "dense": { "alias": "dense"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, ["leadingIcons", "leadingAvatars", "secondaryLines", "secondaryTexts", "trailing"], ["[tnListIcon], [tnListAvatar]", "[tnListItemTitle], [tnListItemPrimary]", "*", "[tnListItemLine], [tnListItemSecondary]", "[tnListItemTrailing]"], true,
|
|
8864
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnListItemComponent, "tn-list-item", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "dense": { "alias": "dense"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, ["leadingIcons", "leadingAvatars", "secondaryLines", "secondaryTexts", "trailing"], ["[tnListIcon], [tnListAvatar]", "[tnListItemTitle], [tnListItemPrimary]", "*", "[tnListItemLine], [tnListItemSecondary]", "[tnListItemTrailing]"], true, [{ directive: typeof TnTestIdDirective; inputs: { "tnTestId": "testId"; }; outputs: {}; }]>;
|
|
8847
8865
|
}
|
|
8848
8866
|
|
|
8849
8867
|
/**
|
|
@@ -14432,9 +14450,10 @@ declare class TnDialogShellComponent implements OnInit {
|
|
|
14432
14450
|
/** Hide the actions footer. Same wrapper-case rationale as {@link hideContent}. */
|
|
14433
14451
|
hideActions: _angular_core.InputSignal<boolean>;
|
|
14434
14452
|
/**
|
|
14435
|
-
* Optional semantic base that scopes the shell's chrome
|
|
14436
|
-
*
|
|
14437
|
-
*
|
|
14453
|
+
* Optional semantic base that scopes the shell's chrome. The close and
|
|
14454
|
+
* fullscreen buttons emit `button-close` / `button-fullscreen` by default, and
|
|
14455
|
+
* the title heading `dialog-title`, or `button-close-<testId>` /
|
|
14456
|
+
* `button-fullscreen-<testId>` / `dialog-title-<testId>` when a base is
|
|
14438
14457
|
* provided (useful when more than one dialog can be open).
|
|
14439
14458
|
*/
|
|
14440
14459
|
testId: _angular_core.InputSignal<TnTestIdValue>;
|
|
@@ -14473,6 +14492,19 @@ declare class TnDialogShellComponent implements OnInit {
|
|
|
14473
14492
|
protected closeTestId: Signal<(string | number | null | undefined)[]>;
|
|
14474
14493
|
/** Role-first test-id segments for the fullscreen button: `button-fullscreen[-<base>]`. */
|
|
14475
14494
|
protected fullscreenTestId: Signal<(string | number | null | undefined)[]>;
|
|
14495
|
+
/**
|
|
14496
|
+
* Role-first test-id segments for the title heading: `dialog-title[-<base>]`.
|
|
14497
|
+
*
|
|
14498
|
+
* The heading is fixed chrome like the two buttons, so it follows the same
|
|
14499
|
+
* role-first shape — and a test that knows a dialog's base knows its title's
|
|
14500
|
+
* id without being told separately, which is the point: dialogs raised
|
|
14501
|
+
* through one generic error path are otherwise indistinguishable by id, and
|
|
14502
|
+
* the only remaining handle is a match on their prose.
|
|
14503
|
+
*
|
|
14504
|
+
* There is no id when there is no title: the heading is not rendered at all
|
|
14505
|
+
* (see the template), so nothing is left behind to select.
|
|
14506
|
+
*/
|
|
14507
|
+
protected titleTestId: Signal<(string | number | null | undefined)[]>;
|
|
14476
14508
|
/** Stable id for the title heading, referenced by the dialog's aria-labelledby. */
|
|
14477
14509
|
readonly titleId: string;
|
|
14478
14510
|
isFullscreen: _angular_core.WritableSignal<boolean>;
|