@truenas/ui-components 0.6.2 → 0.7.1
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
|
@@ -1055,26 +1055,6 @@ interface AutocompleteHarnessFilters extends BaseHarnessFilters {
|
|
|
1055
1055
|
|
|
1056
1056
|
type TnDrawerMode = 'side' | 'over';
|
|
1057
1057
|
type TnDrawerPosition = 'start' | 'end';
|
|
1058
|
-
/**
|
|
1059
|
-
* The accessible name a drawer falls back to when the caller names neither
|
|
1060
|
-
* `ariaLabel` nor `ariaLabelledby` (#214).
|
|
1061
|
-
*
|
|
1062
|
-
* `ariaLabel` defaults to `undefined`, so the DEFAULT rendering in `over` mode
|
|
1063
|
-
* was a `role="dialog"` with `aria-modal="true"` and no name — measured as an
|
|
1064
|
-
* `aria-dialog-name` violation. In `side` mode the same omission leaves a
|
|
1065
|
-
* `role="navigation"` landmark unnamed, which axe does not report while there is
|
|
1066
|
-
* only one of them on the page, and which stops telling them apart the moment
|
|
1067
|
-
* there are two.
|
|
1068
|
-
*
|
|
1069
|
-
* One fallback for both modes rather than one per mode: the drawer is the same
|
|
1070
|
-
* surface either way, the name answers the same question ("what is this?"), and
|
|
1071
|
-
* a rule that changes with the mode is one more thing for a caller to be wrong
|
|
1072
|
-
* about. A generic name is still a poor one, so it is paired with the dev-mode
|
|
1073
|
-
* warning `tnAccessibleName` raises.
|
|
1074
|
-
*
|
|
1075
|
-
* Exported so specs assert against it by name rather than by a copied literal.
|
|
1076
|
-
*/
|
|
1077
|
-
declare const TN_DRAWER_DEFAULT_LABEL = "Drawer";
|
|
1078
1058
|
/**
|
|
1079
1059
|
* A drawer, which is two different things by `mode`: in `side` it is
|
|
1080
1060
|
* persistent navigation beside the page's content, and in `over` it is a modal
|
|
@@ -1184,6 +1164,7 @@ declare class TnDrawerComponent implements OnDestroy {
|
|
|
1184
1164
|
protected trapFocus: _angular_core.Signal<boolean>;
|
|
1185
1165
|
/** Role depends on mode: navigation for side, dialog for over */
|
|
1186
1166
|
protected panelRole: _angular_core.Signal<"dialog" | "navigation">;
|
|
1167
|
+
private readonly fallbackName;
|
|
1187
1168
|
/**
|
|
1188
1169
|
* The name to render as `aria-label`, or `null` to render none — and the
|
|
1189
1170
|
* dev-mode warning when the caller named neither input.
|
|
@@ -4736,6 +4717,12 @@ declare class TnRadioComponent implements AfterViewInit, OnDestroy, ControlValue
|
|
|
4736
4717
|
name: _angular_core.InputSignal<string | undefined>;
|
|
4737
4718
|
disabled: _angular_core.InputSignal<boolean>;
|
|
4738
4719
|
required: _angular_core.InputSignal<boolean>;
|
|
4720
|
+
/**
|
|
4721
|
+
* Test-id base. The element type this composes with is `radio-button`, not `radio`: the id
|
|
4722
|
+
* identifies one radio BUTTON within a `radio-group`, matching the `radio-group`/`radio-button`
|
|
4723
|
+
* pair every other grouped control in this library uses (`button-toggle-group`/`button-toggle`).
|
|
4724
|
+
* So `testId="email"` yields `radio-button-email`.
|
|
4725
|
+
*/
|
|
4739
4726
|
testId: _angular_core.InputSignal<TnTestIdValue>;
|
|
4740
4727
|
/** Test-id base, falling back to the bound control name when `testId` is unset. */
|
|
4741
4728
|
protected resolvedTestId: _angular_core.Signal<TnTestIdValue>;
|
|
@@ -5002,7 +4989,7 @@ declare class TnRadioGroupComponent<T = unknown> implements ControlValueAccessor
|
|
|
5002
4989
|
/**
|
|
5003
4990
|
* Test-id base for the group and, scoped by the option label, for every option rendered from
|
|
5004
4991
|
* `options`: base `encryption` yields `radio-group-encryption` on the group and
|
|
5005
|
-
* `radio-encryption-passphrase` on its options. Falls back to the bound control name.
|
|
4992
|
+
* `radio-button-encryption-passphrase` on its options. Falls back to the bound control name.
|
|
5006
4993
|
*
|
|
5007
4994
|
* Projected `<tn-radio>` children keep their own test-id resolution — the group does not reach
|
|
5008
4995
|
* into content it did not render — so give each one a `testId` of its own.
|
|
@@ -11023,21 +11010,236 @@ declare function labelMarkupToHtml(value: string): string;
|
|
|
11023
11010
|
*/
|
|
11024
11011
|
declare function labelMarkupToText(value: string): string;
|
|
11025
11012
|
|
|
11026
|
-
|
|
11013
|
+
/**
|
|
11014
|
+
* Every generic name this library falls back to when a caller names neither
|
|
11015
|
+
* `ariaLabel` nor `ariaLabelledby`, in one bundle a consumer provides once.
|
|
11016
|
+
*
|
|
11017
|
+
* WHY A TOKEN AND NOT CONSTANTS ALONE
|
|
11018
|
+
* -----------------------------------
|
|
11019
|
+
* The constants below are English, and a spinner announcing "Loading" to a
|
|
11020
|
+
* screen reader in a Spanish app is the same untranslated-chrome bug that
|
|
11021
|
+
* `TN_SELECT_LABELS` and `TN_TABLE_LABELS` were added for: a string this
|
|
11022
|
+
* library renders into a consumer's UI has to be translatable, and the only
|
|
11023
|
+
* route to these was an `ariaLabel` on every single call site. In webui that
|
|
11024
|
+
* came to nineteen spinners and nineteen bars each carrying an identical
|
|
11025
|
+
* `[ariaLabel]="'Loading' | translate"` — the copy-on-every-instance shape
|
|
11026
|
+
* those two tokens already exist to remove.
|
|
11027
|
+
*
|
|
11028
|
+
* A per-instance `ariaLabel` still wins, and is still the right answer wherever
|
|
11029
|
+
* a name can say WHAT is loading or WHAT is open. This token is for the rest:
|
|
11030
|
+
* the generic name the component would otherwise render in English.
|
|
11031
|
+
*
|
|
11032
|
+
* WHY ONE BUNDLE, AND WHICH NAMES ARE IN IT
|
|
11033
|
+
* -----------------------------------------
|
|
11034
|
+
* Exactly the fallbacks `tnAccessibleName` renders — the four progressbars and
|
|
11035
|
+
* the three surfaces — because they already share one rule, and a consumer
|
|
11036
|
+
* translating one of them wants all seven. Separate keys rather than one shared
|
|
11037
|
+
* string, because the least-bad generic name differs by what the component is
|
|
11038
|
+
* ("Progress" for a bar, "Loading" for a spinner, "Dialog" for a dialog), and
|
|
11039
|
+
* `tn-branded-spinner` differs again for a reason
|
|
11040
|
+
* {@link TN_BRANDED_SPINNER_DEFAULT_LABEL} sets out.
|
|
11041
|
+
*
|
|
11042
|
+
* Not in it: `TN_SIDE_PANEL_CONTENT_LABEL`, `TN_DRAWER_CONTENT_LABEL`,
|
|
11043
|
+
* `TN_TAB_PANEL_CONTENT_LABEL` and `TN_TABLE_SCROLL_REGION_LABEL`. Those name a
|
|
11044
|
+
* scrolling REGION rather than the component, each already has a per-instance
|
|
11045
|
+
* input a consumer can translate through, and none of them warns — so they are
|
|
11046
|
+
* a separate decision from this one rather than part of it.
|
|
11047
|
+
*
|
|
11048
|
+
* WHAT PROVIDING IT DOES TO THE DEV WARNING
|
|
11049
|
+
* -----------------------------------------
|
|
11050
|
+
* It stands the warning down for the components whose fallback it supplies.
|
|
11051
|
+
* That is the same exception `tn-table-pager` already has, for the same reason,
|
|
11052
|
+
* written out at `resolvedTablePaginationLabel`: a name the consumer configured
|
|
11053
|
+
* is a DESIGNED name, not a last resort for one someone forgot, so warning
|
|
11054
|
+
* about it fires on the ordinary case and teaches readers to ignore the warning
|
|
11055
|
+
* where it means something. Registering this provider is a deliberate app-wide
|
|
11056
|
+
* decision about what an unnamed spinner or surface should say; the warning has
|
|
11057
|
+
* been heard, and an app that has answered it should not have every test that
|
|
11058
|
+
* renders a spinner fail on the answer.
|
|
11059
|
+
*
|
|
11060
|
+
* The half of `tnAccessibleName` that is NOT about the warning is unchanged: an
|
|
11061
|
+
* explicit `ariaLabel` still always survives, and the fallback — configured or
|
|
11062
|
+
* not — is still withheld beside an `ariaLabelledby`, so a dangling IDREF still
|
|
11063
|
+
* fails its axe name rule loudly instead of being masked by a name that says
|
|
11064
|
+
* nothing.
|
|
11065
|
+
*
|
|
11066
|
+
* Unlike its neighbours in this folder (`accessible-name.ts`, `live-region.ts`),
|
|
11067
|
+
* this file IS part of the public API: it is how a consumer answers the
|
|
11068
|
+
* question those two only ask.
|
|
11069
|
+
*/
|
|
11070
|
+
interface TnFallbackLabels {
|
|
11071
|
+
/** Fallback name for `tn-spinner`. */
|
|
11072
|
+
spinner: string;
|
|
11073
|
+
/** Fallback name for `tn-branded-spinner`. */
|
|
11074
|
+
brandedSpinner: string;
|
|
11075
|
+
/** Fallback name for `tn-progress-bar`. */
|
|
11076
|
+
progressBar: string;
|
|
11077
|
+
/** Fallback name for `tn-particle-progress-bar`. */
|
|
11078
|
+
particleProgressBar: string;
|
|
11079
|
+
/** Fallback name for the `tn-dialog-shell` surface itself, for a dialog with no `title`. */
|
|
11080
|
+
dialog: string;
|
|
11081
|
+
/** Fallback name for the `tn-side-panel` surface itself, for a panel with no `title`. */
|
|
11082
|
+
sidePanel: string;
|
|
11083
|
+
/** Fallback name for `tn-drawer`, in both of its modes. */
|
|
11084
|
+
drawer: string;
|
|
11085
|
+
}
|
|
11027
11086
|
/**
|
|
11028
11087
|
* The accessible name a spinner falls back to when the caller names neither
|
|
11029
11088
|
* `ariaLabel` nor `ariaLabelledby` (#202). Same reasoning as
|
|
11030
|
-
*
|
|
11031
|
-
* defaults to indeterminate mode, so its unnamed default rendering
|
|
11032
|
-
* assistive technology as a progressbar with neither a name nor a
|
|
11089
|
+
* {@link TN_PROGRESS_BAR_DEFAULT_LABEL}, and the case is sharper here: the
|
|
11090
|
+
* spinner defaults to indeterminate mode, so its unnamed default rendering
|
|
11091
|
+
* reached assistive technology as a progressbar with neither a name nor a
|
|
11092
|
+
* value.
|
|
11033
11093
|
*
|
|
11034
|
-
* `branded-spinner.component.ts`
|
|
11094
|
+
* `branded-spinner.component.ts` already fell back this way —
|
|
11035
11095
|
* `ariaLabel() || "Loading..."` inline — so a fallback is the shape this
|
|
11036
11096
|
* library had already settled on; what it lacked was the warning. It has both
|
|
11037
|
-
* since #206, through the same `tnAccessibleName`
|
|
11097
|
+
* since #206, through the same `tnAccessibleName` that component uses, which is
|
|
11038
11098
|
* why the two constants sit side by side and differ.
|
|
11039
11099
|
*/
|
|
11040
11100
|
declare const TN_SPINNER_DEFAULT_LABEL = "Loading";
|
|
11101
|
+
/**
|
|
11102
|
+
* The name `tn-branded-spinner` falls back to when the caller names neither
|
|
11103
|
+
* `ariaLabel` nor `ariaLabelledby`. Same reasoning as
|
|
11104
|
+
* {@link TN_SPINNER_DEFAULT_LABEL} and {@link TN_PROGRESS_BAR_DEFAULT_LABEL}.
|
|
11105
|
+
*
|
|
11106
|
+
* It differs from `TN_SPINNER_DEFAULT_LABEL` — `"Loading..."` against
|
|
11107
|
+
* `"Loading"` — only because this is the string the component already rendered,
|
|
11108
|
+
* inline in its host binding, before #206 gave it the shared resolver. Aligning
|
|
11109
|
+
* the two would change what a screen reader announces for every unnamed branded
|
|
11110
|
+
* spinner already in the wild, which is a louder change than the consistency
|
|
11111
|
+
* fix it would be part of. Exported so specs assert against it by name rather
|
|
11112
|
+
* than by a copied string literal.
|
|
11113
|
+
*/
|
|
11114
|
+
declare const TN_BRANDED_SPINNER_DEFAULT_LABEL = "Loading...";
|
|
11115
|
+
/**
|
|
11116
|
+
* The accessible name a bar falls back to when the caller names neither
|
|
11117
|
+
* `ariaLabel` nor `ariaLabelledby` (#202).
|
|
11118
|
+
*
|
|
11119
|
+
* Deliberately generic, and deliberately not silent: the host carries
|
|
11120
|
+
* `role="progressbar"` unconditionally, so without a fallback the default
|
|
11121
|
+
* rendering is a progressbar assistive technology announces with no name at all
|
|
11122
|
+
* — "progress bar, 40%", with nothing to say what is progressing. The
|
|
11123
|
+
* alternative fix, withholding the role until there is a name for it, trades
|
|
11124
|
+
* that for no announcement whatever, which is worse: a screen reader would not
|
|
11125
|
+
* learn that anything is in progress, and on a determinate bar it would lose
|
|
11126
|
+
* the value too.
|
|
11127
|
+
*
|
|
11128
|
+
* A generic name is still a poor one, so it is paired with the dev-mode warning
|
|
11129
|
+
* `tnAccessibleName` raises. Exported so specs assert against it by name rather
|
|
11130
|
+
* than by a copied string literal.
|
|
11131
|
+
*/
|
|
11132
|
+
declare const TN_PROGRESS_BAR_DEFAULT_LABEL = "Progress";
|
|
11133
|
+
/**
|
|
11134
|
+
* The accessible name `tn-particle-progress-bar` falls back to when the caller
|
|
11135
|
+
* names neither `ariaLabel` nor `ariaLabelledby` (#209).
|
|
11136
|
+
*
|
|
11137
|
+
* The same string and the same reasoning as
|
|
11138
|
+
* {@link TN_PROGRESS_BAR_DEFAULT_LABEL} next door, and deliberately a separate
|
|
11139
|
+
* constant rather than an alias of it: `tnAccessibleName` takes a fallback PER
|
|
11140
|
+
* COMPONENT because the least-bad generic name differs by what the component is
|
|
11141
|
+
* ("Progress" for a bar, "Loading" for a spinner), and sharing the binding would
|
|
11142
|
+
* make a future divergence in one a silent change to the other. Exported so
|
|
11143
|
+
* specs assert against it by name rather than by a copied string literal.
|
|
11144
|
+
*/
|
|
11145
|
+
declare const TN_PARTICLE_PROGRESS_BAR_DEFAULT_LABEL = "Progress";
|
|
11146
|
+
/**
|
|
11147
|
+
* The accessible name a dialog falls back to when it renders no `title` and the
|
|
11148
|
+
* caller named it through neither this component nor the `DialogConfig` (#219).
|
|
11149
|
+
*
|
|
11150
|
+
* `title` defaults to `''`, so the DEFAULT rendering of this component put an
|
|
11151
|
+
* empty `<h2>` in the header and left the CDK container with no naming
|
|
11152
|
+
* attribute at all — measured as `empty-heading` on the heading and
|
|
11153
|
+
* `aria-dialog-name` on the dialog. A dialog with no name is announced as
|
|
11154
|
+
* "dialog" and nothing else, which is the whole of what a screen-reader user is
|
|
11155
|
+
* told about a surface that just took over the page and trapped their focus.
|
|
11156
|
+
*
|
|
11157
|
+
* "Dialog" is a poor name, and says almost exactly what the role already says.
|
|
11158
|
+
* It is still better than the two alternatives: leaving the surface unnamed, or
|
|
11159
|
+
* withholding `role="dialog"` until there is a name — the latter would move a
|
|
11160
|
+
* listener into a focus trap with no announcement that anything had opened. So
|
|
11161
|
+
* it is paired with the dev-mode warning `tnAccessibleName` raises, which is
|
|
11162
|
+
* what keeps the fallback from becoming a quiet way to ship a nameless dialog.
|
|
11163
|
+
*
|
|
11164
|
+
* Exported so specs assert against it by name rather than by a copied literal.
|
|
11165
|
+
*/
|
|
11166
|
+
declare const TN_DIALOG_SHELL_DEFAULT_LABEL = "Dialog";
|
|
11167
|
+
/**
|
|
11168
|
+
* The accessible name an open panel falls back to when it has no `title` and the
|
|
11169
|
+
* caller named neither `ariaLabel` nor `ariaLabelledby` (#214).
|
|
11170
|
+
*
|
|
11171
|
+
* `title` defaults to `''`, so the DEFAULT rendering of this component was a
|
|
11172
|
+
* `role="dialog"` with `aria-labelledby` pointing at an empty `<h2>` — measured
|
|
11173
|
+
* as an `aria-dialog-name` violation, alongside `empty-heading`. A dialog with no
|
|
11174
|
+
* name is announced as "dialog" and nothing else, which is the whole of what a
|
|
11175
|
+
* screen-reader user gets told about a surface that just covered the page.
|
|
11176
|
+
*
|
|
11177
|
+
* Withholding `role="dialog"` until there is a name would be the other way to
|
|
11178
|
+
* clear the rule, and it is worse: the panel traps focus either way, so a
|
|
11179
|
+
* listener would be moved into a region with no announcement that anything had
|
|
11180
|
+
* opened. A generic name is still a poor one, so it is paired with the dev-mode
|
|
11181
|
+
* warning `tnAccessibleName` raises.
|
|
11182
|
+
*
|
|
11183
|
+
* Exported so specs assert against it by name rather than by a copied literal.
|
|
11184
|
+
*/
|
|
11185
|
+
declare const TN_SIDE_PANEL_DEFAULT_LABEL = "Side panel";
|
|
11186
|
+
/**
|
|
11187
|
+
* The accessible name a drawer falls back to when the caller names neither
|
|
11188
|
+
* `ariaLabel` nor `ariaLabelledby` (#214).
|
|
11189
|
+
*
|
|
11190
|
+
* `ariaLabel` defaults to `undefined`, so the DEFAULT rendering in `over` mode
|
|
11191
|
+
* was a `role="dialog"` with `aria-modal="true"` and no name — measured as an
|
|
11192
|
+
* `aria-dialog-name` violation. In `side` mode the same omission leaves a
|
|
11193
|
+
* `role="navigation"` landmark unnamed, which axe does not report while there is
|
|
11194
|
+
* only one of them on the page, and which stops telling them apart the moment
|
|
11195
|
+
* there are two.
|
|
11196
|
+
*
|
|
11197
|
+
* One fallback for both modes rather than one per mode: the drawer is the same
|
|
11198
|
+
* surface either way, the name answers the same question ("what is this?"), and
|
|
11199
|
+
* a rule that changes with the mode is one more thing for a caller to be wrong
|
|
11200
|
+
* about. A generic name is still a poor one, so it is paired with the dev-mode
|
|
11201
|
+
* warning `tnAccessibleName` raises.
|
|
11202
|
+
*
|
|
11203
|
+
* Exported so specs assert against it by name rather than by a copied literal.
|
|
11204
|
+
*/
|
|
11205
|
+
declare const TN_DRAWER_DEFAULT_LABEL = "Drawer";
|
|
11206
|
+
/** English defaults used when no {@link TN_FALLBACK_LABELS} provider is registered. */
|
|
11207
|
+
declare const TN_DEFAULT_FALLBACK_LABELS: TnFallbackLabels;
|
|
11208
|
+
/**
|
|
11209
|
+
* DI token for the app-wide fallback names above. Provide either a static
|
|
11210
|
+
* object or a `Signal<TnFallbackLabels>` — the latter lets every component
|
|
11211
|
+
* react to language changes when the consumer wires it up to an i18n service.
|
|
11212
|
+
*
|
|
11213
|
+
* An `ariaLabel` on a particular instance still wins over these, and is still
|
|
11214
|
+
* what to reach for when a name can say what is loading or what is open.
|
|
11215
|
+
*/
|
|
11216
|
+
declare const TN_FALLBACK_LABELS: InjectionToken<TnFallbackLabels | Signal<TnFallbackLabels>>;
|
|
11217
|
+
/** One component's fallback name, and where it came from. */
|
|
11218
|
+
interface TnFallbackName {
|
|
11219
|
+
/** The name to render when the caller names neither input. */
|
|
11220
|
+
label: Signal<string>;
|
|
11221
|
+
/**
|
|
11222
|
+
* Whether that name came from a consumer's provider rather than this
|
|
11223
|
+
* library's English default — which is what decides whether an unnamed
|
|
11224
|
+
* instance warns. See the file comment above.
|
|
11225
|
+
*/
|
|
11226
|
+
configured: boolean;
|
|
11227
|
+
}
|
|
11228
|
+
/**
|
|
11229
|
+
* Reads one component's fallback name out of {@link TN_FALLBACK_LABELS}.
|
|
11230
|
+
*
|
|
11231
|
+
* Not `injectTnLabels`, which normalizes the token to a Signal and drops the
|
|
11232
|
+
* value it started from: telling a configured bundle from the built-in one is an
|
|
11233
|
+
* identity check against `builtInLabels`, so this needs the raw injected value.
|
|
11234
|
+
* A consumer who provides a bundle equal to the defaults — the exported constant
|
|
11235
|
+
* included — still counts as configured, which is the right way round: they said
|
|
11236
|
+
* so on purpose.
|
|
11237
|
+
*
|
|
11238
|
+
* **Must be called from an injection context.**
|
|
11239
|
+
*/
|
|
11240
|
+
declare function injectTnFallbackName(key: keyof TnFallbackLabels): TnFallbackName;
|
|
11241
|
+
|
|
11242
|
+
type SpinnerMode = 'determinate' | 'indeterminate';
|
|
11041
11243
|
declare class TnSpinnerComponent {
|
|
11042
11244
|
mode: _angular_core.InputSignal<SpinnerMode>;
|
|
11043
11245
|
value: _angular_core.InputSignal<number>;
|
|
@@ -11045,6 +11247,7 @@ declare class TnSpinnerComponent {
|
|
|
11045
11247
|
strokeWidth: _angular_core.InputSignal<number>;
|
|
11046
11248
|
ariaLabel: _angular_core.InputSignal<string | null>;
|
|
11047
11249
|
ariaLabelledby: _angular_core.InputSignal<string | null>;
|
|
11250
|
+
private readonly fallbackName;
|
|
11048
11251
|
/**
|
|
11049
11252
|
* The name to render, or `null` to render no `aria-label` attribute — and the
|
|
11050
11253
|
* dev-mode warning when the caller named neither input.
|
|
@@ -11066,23 +11269,10 @@ declare class TnSpinnerComponent {
|
|
|
11066
11269
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnSpinnerComponent, "tn-spinner", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "diameter": { "alias": "diameter"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
11067
11270
|
}
|
|
11068
11271
|
|
|
11069
|
-
/**
|
|
11070
|
-
* The name this spinner falls back to when the caller names neither `ariaLabel`
|
|
11071
|
-
* nor `ariaLabelledby`. Same reasoning as `TN_SPINNER_DEFAULT_LABEL` and
|
|
11072
|
-
* `TN_PROGRESS_BAR_DEFAULT_LABEL`.
|
|
11073
|
-
*
|
|
11074
|
-
* It differs from `TN_SPINNER_DEFAULT_LABEL` — `"Loading..."` against
|
|
11075
|
-
* `"Loading"` — only because this is the string the component already rendered,
|
|
11076
|
-
* inline in its host binding, before #206 gave it the shared resolver. Aligning
|
|
11077
|
-
* the two would change what a screen reader announces for every unnamed branded
|
|
11078
|
-
* spinner already in the wild, which is a louder change than the consistency
|
|
11079
|
-
* fix it would be part of. Exported so specs assert against it by name rather
|
|
11080
|
-
* than by a copied string literal.
|
|
11081
|
-
*/
|
|
11082
|
-
declare const TN_BRANDED_SPINNER_DEFAULT_LABEL = "Loading...";
|
|
11083
11272
|
declare class TnBrandedSpinnerComponent implements OnInit, OnDestroy, AfterViewInit {
|
|
11084
11273
|
ariaLabel: _angular_core.InputSignal<string | null>;
|
|
11085
11274
|
ariaLabelledby: _angular_core.InputSignal<string | null>;
|
|
11275
|
+
private readonly fallbackName;
|
|
11086
11276
|
/**
|
|
11087
11277
|
* The name to render, or `null` to render no `aria-label` attribute — and the
|
|
11088
11278
|
* dev-mode warning when the caller named neither input.
|
|
@@ -11114,30 +11304,13 @@ declare class TnBrandedSpinnerComponent implements OnInit, OnDestroy, AfterViewI
|
|
|
11114
11304
|
}
|
|
11115
11305
|
|
|
11116
11306
|
type ProgressBarMode = 'determinate' | 'indeterminate' | 'buffer';
|
|
11117
|
-
/**
|
|
11118
|
-
* The accessible name a bar falls back to when the caller names neither
|
|
11119
|
-
* `ariaLabel` nor `ariaLabelledby` (#202).
|
|
11120
|
-
*
|
|
11121
|
-
* Deliberately generic, and deliberately not silent: the host carries
|
|
11122
|
-
* `role="progressbar"` unconditionally, so without a fallback the default
|
|
11123
|
-
* rendering is a progressbar assistive technology announces with no name at all
|
|
11124
|
-
* — "progress bar, 40%", with nothing to say what is progressing. The
|
|
11125
|
-
* alternative fix, withholding the role until there is a name for it, trades
|
|
11126
|
-
* that for no announcement whatever, which is worse: a screen reader would not
|
|
11127
|
-
* learn that anything is in progress, and on a determinate bar it would lose
|
|
11128
|
-
* the value too.
|
|
11129
|
-
*
|
|
11130
|
-
* A generic name is still a poor one, so it is paired with the dev-mode warning
|
|
11131
|
-
* `tnAccessibleName` raises. Exported so specs assert against it by name rather
|
|
11132
|
-
* than by a copied string literal.
|
|
11133
|
-
*/
|
|
11134
|
-
declare const TN_PROGRESS_BAR_DEFAULT_LABEL = "Progress";
|
|
11135
11307
|
declare class TnProgressBarComponent {
|
|
11136
11308
|
mode: _angular_core.InputSignal<ProgressBarMode>;
|
|
11137
11309
|
value: _angular_core.InputSignal<number>;
|
|
11138
11310
|
bufferValue: _angular_core.InputSignal<number>;
|
|
11139
11311
|
ariaLabel: _angular_core.InputSignal<string | null>;
|
|
11140
11312
|
ariaLabelledby: _angular_core.InputSignal<string | null>;
|
|
11313
|
+
private readonly fallbackName;
|
|
11141
11314
|
/**
|
|
11142
11315
|
* The name to render, or `null` to render no `aria-label` attribute — and the
|
|
11143
11316
|
* dev-mode warning when the caller named neither input.
|
|
@@ -11171,19 +11344,6 @@ declare class TnProgressBarComponent {
|
|
|
11171
11344
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnProgressBarComponent, "tn-progress-bar", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "bufferValue": { "alias": "bufferValue"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
11172
11345
|
}
|
|
11173
11346
|
|
|
11174
|
-
/**
|
|
11175
|
-
* The accessible name this bar falls back to when the caller names neither
|
|
11176
|
-
* `ariaLabel` nor `ariaLabelledby` (#209).
|
|
11177
|
-
*
|
|
11178
|
-
* The same string and the same reasoning as `TN_PROGRESS_BAR_DEFAULT_LABEL`
|
|
11179
|
-
* next door, and deliberately a separate constant rather than an import of it:
|
|
11180
|
-
* `tnAccessibleName` takes a fallback PER COMPONENT because the least-bad
|
|
11181
|
-
* generic name differs by what the component is ("Progress" for a bar,
|
|
11182
|
-
* "Loading" for a spinner), and sharing the binding would make a future
|
|
11183
|
-
* divergence in one a silent change to the other. Exported so specs assert
|
|
11184
|
-
* against it by name rather than by a copied string literal.
|
|
11185
|
-
*/
|
|
11186
|
-
declare const TN_PARTICLE_PROGRESS_BAR_DEFAULT_LABEL = "Progress";
|
|
11187
11347
|
/**
|
|
11188
11348
|
* THE DECISION #209 ASKED FOR: THIS IS A PROGRESSBAR, NOT DECORATION
|
|
11189
11349
|
* ------------------------------------------------------------------
|
|
@@ -11243,6 +11403,7 @@ declare class TnParticleProgressBarComponent implements AfterViewInit, OnDestroy
|
|
|
11243
11403
|
canvasRef: _angular_core.Signal<ElementRef<HTMLCanvasElement>>;
|
|
11244
11404
|
/** Exposed to the template so the rects and the ARIA value share one inset. */
|
|
11245
11405
|
readonly trackInset = 50;
|
|
11406
|
+
private readonly fallbackName;
|
|
11246
11407
|
/**
|
|
11247
11408
|
* The name to render, or `null` to render no `aria-label` at all — and the
|
|
11248
11409
|
* dev-mode warning when the caller named neither input.
|
|
@@ -13150,27 +13311,6 @@ declare const TN_DIALOG_DEFAULT_CHROME_LABELS: TnDialogChromeLabels;
|
|
|
13150
13311
|
* the consumer wires it up to an i18n service.
|
|
13151
13312
|
*/
|
|
13152
13313
|
declare const TN_DIALOG_CHROME_LABELS: InjectionToken<TnDialogChromeLabels | Signal<TnDialogChromeLabels>>;
|
|
13153
|
-
/**
|
|
13154
|
-
* The accessible name a dialog falls back to when it renders no `title` and the
|
|
13155
|
-
* caller named it through neither this component nor the `DialogConfig` (#219).
|
|
13156
|
-
*
|
|
13157
|
-
* `title` defaults to `''`, so the DEFAULT rendering of this component put an
|
|
13158
|
-
* empty `<h2>` in the header and left the CDK container with no naming
|
|
13159
|
-
* attribute at all — measured as `empty-heading` on the heading and
|
|
13160
|
-
* `aria-dialog-name` on the dialog. A dialog with no name is announced as
|
|
13161
|
-
* "dialog" and nothing else, which is the whole of what a screen-reader user is
|
|
13162
|
-
* told about a surface that just took over the page and trapped their focus.
|
|
13163
|
-
*
|
|
13164
|
-
* "Dialog" is a poor name, and says almost exactly what the role already says.
|
|
13165
|
-
* It is still better than the two alternatives: leaving the surface unnamed, or
|
|
13166
|
-
* withholding `role="dialog"` until there is a name — the latter would move a
|
|
13167
|
-
* listener into a focus trap with no announcement that anything had opened. So
|
|
13168
|
-
* it is paired with the dev-mode warning `tnAccessibleName` raises, which is
|
|
13169
|
-
* what keeps the fallback from becoming a quiet way to ship a nameless dialog.
|
|
13170
|
-
*
|
|
13171
|
-
* Exported so specs assert against it by name rather than by a copied literal.
|
|
13172
|
-
*/
|
|
13173
|
-
declare const TN_DIALOG_SHELL_DEFAULT_LABEL = "Dialog";
|
|
13174
13314
|
declare class TnDialogShellComponent implements OnInit {
|
|
13175
13315
|
protected readonly labels: Signal<TnDialogChromeLabels>;
|
|
13176
13316
|
/** Accessible name for the fullscreen toggle, following its current state. */
|
|
@@ -13270,6 +13410,7 @@ declare class TnDialogShellComponent implements OnInit {
|
|
|
13270
13410
|
private resolvedAriaLabelledby;
|
|
13271
13411
|
/** An explicit label, from this component's input or from the `DialogConfig`. */
|
|
13272
13412
|
private explicitAriaLabel;
|
|
13413
|
+
private readonly fallbackName;
|
|
13273
13414
|
/**
|
|
13274
13415
|
* The name to render as `aria-label`, or `null` to render none — and the
|
|
13275
13416
|
* dev-mode warning when the dialog has no name from any route.
|
|
@@ -13487,25 +13628,6 @@ declare class TnDialogTesting {
|
|
|
13487
13628
|
static rootLoader(fixture: ComponentFixture<unknown>): HarnessLoader;
|
|
13488
13629
|
}
|
|
13489
13630
|
|
|
13490
|
-
/**
|
|
13491
|
-
* The accessible name an open panel falls back to when it has no `title` and the
|
|
13492
|
-
* caller named neither `ariaLabel` nor `ariaLabelledby` (#214).
|
|
13493
|
-
*
|
|
13494
|
-
* `title` defaults to `''`, so the DEFAULT rendering of this component was a
|
|
13495
|
-
* `role="dialog"` with `aria-labelledby` pointing at an empty `<h2>` — measured
|
|
13496
|
-
* as an `aria-dialog-name` violation, alongside `empty-heading`. A dialog with no
|
|
13497
|
-
* name is announced as "dialog" and nothing else, which is the whole of what a
|
|
13498
|
-
* screen-reader user gets told about a surface that just covered the page.
|
|
13499
|
-
*
|
|
13500
|
-
* Withholding `role="dialog"` until there is a name would be the other way to
|
|
13501
|
-
* clear the rule, and it is worse: the panel traps focus either way, so a
|
|
13502
|
-
* listener would be moved into a region with no announcement that anything had
|
|
13503
|
-
* opened. A generic name is still a poor one, so it is paired with the dev-mode
|
|
13504
|
-
* warning `tnAccessibleName` raises.
|
|
13505
|
-
*
|
|
13506
|
-
* Exported so specs assert against it by name rather than by a copied literal.
|
|
13507
|
-
*/
|
|
13508
|
-
declare const TN_SIDE_PANEL_DEFAULT_LABEL = "Side panel";
|
|
13509
13631
|
/**
|
|
13510
13632
|
* The name given to the scrolling content region once it becomes focusable
|
|
13511
13633
|
* (#248).
|
|
@@ -13694,6 +13816,7 @@ declare class TnSidePanelComponent implements OnDestroy {
|
|
|
13694
13816
|
* when there is one, the caller's IDREF otherwise.
|
|
13695
13817
|
*/
|
|
13696
13818
|
protected resolvedAriaLabelledby: _angular_core.Signal<string | null>;
|
|
13819
|
+
private readonly fallbackName;
|
|
13697
13820
|
/**
|
|
13698
13821
|
* The name to render as `aria-label`, or `null` to render none — and the
|
|
13699
13822
|
* dev-mode warning when the panel has no name from any route.
|
|
@@ -15220,5 +15343,5 @@ declare const TN_THEME_DEFINITIONS: readonly TnThemeDefinition[];
|
|
|
15220
15343
|
*/
|
|
15221
15344
|
declare const THEME_MAP: Map<TnTheme, TnThemeDefinition>;
|
|
15222
15345
|
|
|
15223
|
-
export { CommonShortcuts, DEFAULT_THEME, DiskIconComponent, DiskType, FileSizePipe, InputType, LIGHT_THEME, LabelMarkupPipe, LabelTextPipe, LinuxModifierKeys, LinuxShortcuts, ModifierKeys, QuickShortcuts, ShortcutBuilder, THEME_MAP, THEME_STORAGE_KEY, TN_AUTOCOMPLETE_DEFAULT_LABELS, TN_AUTOCOMPLETE_LABELS, TN_BRANDED_SPINNER_DEFAULT_LABEL, TN_CALENDAR_INTL, TN_CALENDAR_INTL_DEFAULTS, TN_DIALOG_CHROME_LABELS, TN_DIALOG_DEFAULT_CHROME_LABELS, TN_DIALOG_SHELL_DEFAULT_LABEL, TN_DRAWER_CONTENT_LABEL, TN_DRAWER_DEFAULT_LABEL, TN_FORM_FIELD_CONTEXT, TN_FORM_FIELD_DISMISSIBLE_ERRORS, TN_FORM_FIELD_ERRORS, TN_FORM_LIST_CONTEXT, TN_PARTICLE_PROGRESS_BAR_DEFAULT_LABEL, TN_PROGRESS_BAR_DEFAULT_LABEL, TN_RADIO_GROUP, TN_SELECT_DEFAULT_LABELS, TN_SELECT_LABELS, TN_SIDE_PANEL_CONTENT_LABEL, TN_SIDE_PANEL_DEFAULT_LABEL, TN_SIDE_PANEL_OVERFLOW_TOLERANCE_PX, TN_SPINNER_DEFAULT_LABEL, TN_STEPPER_STATUS_COMPLETED, TN_STEPPER_STATUS_ERROR, TN_TABLE_DEFAULT_LABELS, TN_TABLE_LABELS, TN_TABLE_PAGER_DEFAULT_LABELS, TN_TABLE_PAGER_LABELS, TN_TABLE_SCROLL_REGION_LABEL, TN_TAB_PANEL_CONTENT_LABEL, TN_TEST_ATTR, TN_THEME_DEFINITIONS, TN_TOAST_ANNOUNCE_DELAY_MS, TnAutocompleteComponent, TnAutocompleteHarness, TnBannerActionDirective, TnBannerActionHarness, TnBannerComponent, TnBannerHarness, TnBrandedSpinnerComponent, TnButtonComponent, TnButtonHarness, TnButtonToggleComponent, TnButtonToggleGroupComponent, TnButtonToggleGroupHarness, TnButtonToggleHarness, TnCalendarCellHarness, TnCalendarComponent, TnCalendarHarness, TnCalendarHeaderComponent, TnCardComponent, TnCardFooterActionsDirective, TnCardHeaderActionsDirective, TnCardHeaderDirective, TnCellDefDirective, TnCheckboxComponent, TnCheckboxHarness, TnCheckboxLabelDirective, TnChipComponent, TnChipHarness, TnChipInputComponent, TnChipInputHarness, TnConfirmDialogComponent, TnDateInputComponent, TnDateInputHarness, TnDateRangeInputComponent, TnDateRangeInputHarness, TnDetailRowDefDirective, TnDialog, TnDialogHarness, TnDialogShellComponent, TnDialogTesting, TnDividerComponent, TnDividerDirective, TnDrawerComponent, TnDrawerContainerComponent, TnDrawerContainerHarness, TnDrawerContentComponent, TnDrawerHarness, TnEmptyComponent, TnEmptyHarness, TnExpansionPanelComponent, TnExpansionPanelHarness, TnFileInputComponent, TnFileInputHarness, TnFilePickerComponent, TnFilePickerHarness, TnFilePickerPopupComponent, TnFormErrorsComponent, TnFormErrorsHarness, TnFormFieldComponent, TnFormFieldHarness, TnFormListComponent, TnFormListHarness, TnFormListItemComponent, TnFormListItemHarness, TnFormSectionComponent, TnFormSectionHarness, 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, TnNestedTreeDataSource, TnNestedTreeNodeComponent, TnParticleProgressBarComponent, TnProgressBarComponent, TnRadioComponent, TnRadioGroupComponent, TnRadioGroupHarness, TnRadioHarness, TnRowActionsDefDirective, TnSelectComponent, TnSelectHarness, TnSelectionListComponent, TnSidePanelActionDirective, TnSidePanelComponent, TnSidePanelHarness, TnSidePanelHeaderActionDirective, TnSlideToggleComponent, TnSlideToggleHarness, TnSliderComponent, TnSliderThumbDirective, TnSliderWithLabelDirective, TnSpinnerComponent, TnSpriteLoaderService, TnStepComponent, TnStepperComponent, TnStepperHarness, TnStepperNextDirective, TnStepperPreviousDirective, TnTabComponent, TnTabHarness, TnTabPanelComponent, TnTabPanelHarness, TnTableColumnDirective, TnTableComponent, TnTableHarness, TnTablePagerComponent, TnTablePagerHarness, TnTableTesting, TnTabsComponent, TnTabsHarness, TnTestIdDirective, TnTheme, TnThemeService, TnTimeInputComponent, TnToastComponent, TnToastMock, TnToastPosition, TnToastRef, TnToastService, TnToastTesting, TnToastType, TnTooltipComponent, TnTooltipDirective, TnTooltipHarness, TnTooltipTesting, TnTreeComponent, TnTreeFlatDataSource, TnTreeFlattener, TnTreeHarness, TnTreeNodeComponent, TnTreeNodeHarness, TnTreeNodeOutletDirective, TnTreeVirtualScrollNodeOutletDirective, TnTreeVirtualScrollViewComponent, TnTreeVirtualScrollViewHarness, TruncatePathPipe, WindowsModifierKeys, WindowsShortcuts, allowsCurrentDirectorySelection, canonicalizeSize, composeTestId, controlTestId, createFlatTreeControl, createLucideLibrary, createNestedTreeControl, createShortcut, defaultSpriteBasePath, defaultSpriteConfigPath, defaultTreeItemSize, formatSize, formatSizeExact, formatSizeForEditing, getSelectableTypes, injectTnCalendarIntl, injectTnFormFieldAria, injectTnLabels, isPathWithinRoot, kebabTestSegment, labelMarkupToHtml, labelMarkupToText, libIconMarker, normalizeRootPath, optionTestId, parseLabelMarkup, parseSize, parseSizeParts, registerLucideIcons, resolveErrorMessage, scopeTestId, setupLucideIntegration, tnIconMarker, writeTestId };
|
|
15224
|
-
export type { AutocompleteHarnessFilters, BannerActionHarnessFilters, BannerHarnessFilters, ButtonHarnessFilters, ButtonToggleHarnessFilters, CalendarCell, CalendarCellFill, CalendarCellHarnessFilters, CalendarHarnessFilters, CheckboxHarnessFilters, ChipColor, ChipHarnessFilters, DateInputHarnessFilters, DateRange, DateRangeInputHarnessFilters, DialogHarnessFilters, EmptyHarnessFilters, ExpansionPanelHarnessFilters, FileInputHarnessFilters, FilePickerCallbacks, FilePickerCreateAction, FilePickerCreateActionEvent, FilePickerError, FilePickerHarnessFilters, FilePickerMode, FileSystemItem, FileSystemItemType, FlatTreeControlOptions, FormFieldHarnessFilters, FormSectionHarnessFilters, IconButtonHarnessFilters, IconHarnessFilters, IconLibrary, IconLibraryType, IconResult, IconSize, IconSource, IconTestingMockOverrides, InputHarnessFilters, KeyCombination, LabelMarkupSegment, LabelMarkupSegmentType, LabelType, LucideIconOptions, MenuHarnessFilters, MockIconRegistry, MockSpriteLoader, NestedTreeControlOptions, ParsedSize, PathSegment, PlatformType, ProgressBarMode, RadioGroupHarnessFilters, RadioHarnessFilters, ResolveErrorMessageOptions, ResolvedIcon, SelectHarnessFilters, ShortcutHandler, SidePanelHarnessFilters, SizeStandard, SlideToggleColor, SlideToggleHarnessFilters, SpinnerMode, SpriteConfig, StepperHarnessFilters, SubscriptSizing, TabChangeEvent, TabHarnessFilters, TabPanelHarnessFilters, TabsHarnessFilters, TnAutocompleteLabels, TnAutocompleteOption, TnBannerType, TnButtonToggleType, TnCalendarIntl, TnCalendarIntlInput, TnCalendarView, TnCardAction, TnCardControl, TnCardFooterLink, TnCardHeaderStatus, TnChipInputHarnessFilters, TnChipInputOption, TnConfirmDialogData, TnDialogChromeLabels, TnDialogDefaults, TnDialogOpenTarget, TnDrawerMode, TnDrawerPosition, TnEmptySize, TnFlatTreeNode, TnFormErrorsHarnessFilters, TnFormFieldAriaBindings, TnFormFieldContext, TnFormFieldErrorMessage, TnFormFieldErrorMessages, TnFormFieldErrorResolver, TnFormListContext, TnFormListHarnessFilters, TnFormListItemHarnessFilters, TnMenuItem, TnOptionTestIdSource, TnRadioGroupApi, TnRadioOption, TnSelectLabels, TnSelectOption, TnSelectOptionGroup, TnSelectionChange, TnSortEvent, TnTableDataProvider, TnTableDataSource, TnTableHarnessFilters, TnTableLabels, TnTableMobileLayout, TnTablePagerHarnessFilters, TnTablePagerLabels, TnTablePagination, TnTestAttrName, TnTestIdValue, TnThemeDefinition, TnToastCall, TnToastConfig, TnTreeExpansion, TnTreeHarnessFilters, TnTreeNodeHarnessFilters, TnTreeVirtualNodeData, TnTreeVirtualScrollViewHarnessFilters, TooltipHarnessFilters, TooltipPosition, YearCell };
|
|
15346
|
+
export { CommonShortcuts, DEFAULT_THEME, DiskIconComponent, DiskType, FileSizePipe, InputType, LIGHT_THEME, LabelMarkupPipe, LabelTextPipe, LinuxModifierKeys, LinuxShortcuts, ModifierKeys, QuickShortcuts, ShortcutBuilder, THEME_MAP, THEME_STORAGE_KEY, TN_AUTOCOMPLETE_DEFAULT_LABELS, TN_AUTOCOMPLETE_LABELS, TN_BRANDED_SPINNER_DEFAULT_LABEL, TN_CALENDAR_INTL, TN_CALENDAR_INTL_DEFAULTS, TN_DEFAULT_FALLBACK_LABELS, TN_DIALOG_CHROME_LABELS, TN_DIALOG_DEFAULT_CHROME_LABELS, TN_DIALOG_SHELL_DEFAULT_LABEL, TN_DRAWER_CONTENT_LABEL, TN_DRAWER_DEFAULT_LABEL, TN_FALLBACK_LABELS, TN_FORM_FIELD_CONTEXT, TN_FORM_FIELD_DISMISSIBLE_ERRORS, TN_FORM_FIELD_ERRORS, TN_FORM_LIST_CONTEXT, TN_PARTICLE_PROGRESS_BAR_DEFAULT_LABEL, TN_PROGRESS_BAR_DEFAULT_LABEL, TN_RADIO_GROUP, TN_SELECT_DEFAULT_LABELS, TN_SELECT_LABELS, TN_SIDE_PANEL_CONTENT_LABEL, TN_SIDE_PANEL_DEFAULT_LABEL, TN_SIDE_PANEL_OVERFLOW_TOLERANCE_PX, TN_SPINNER_DEFAULT_LABEL, TN_STEPPER_STATUS_COMPLETED, TN_STEPPER_STATUS_ERROR, TN_TABLE_DEFAULT_LABELS, TN_TABLE_LABELS, TN_TABLE_PAGER_DEFAULT_LABELS, TN_TABLE_PAGER_LABELS, TN_TABLE_SCROLL_REGION_LABEL, TN_TAB_PANEL_CONTENT_LABEL, TN_TEST_ATTR, TN_THEME_DEFINITIONS, TN_TOAST_ANNOUNCE_DELAY_MS, TnAutocompleteComponent, TnAutocompleteHarness, TnBannerActionDirective, TnBannerActionHarness, TnBannerComponent, TnBannerHarness, TnBrandedSpinnerComponent, TnButtonComponent, TnButtonHarness, TnButtonToggleComponent, TnButtonToggleGroupComponent, TnButtonToggleGroupHarness, TnButtonToggleHarness, TnCalendarCellHarness, TnCalendarComponent, TnCalendarHarness, TnCalendarHeaderComponent, TnCardComponent, TnCardFooterActionsDirective, TnCardHeaderActionsDirective, TnCardHeaderDirective, TnCellDefDirective, TnCheckboxComponent, TnCheckboxHarness, TnCheckboxLabelDirective, TnChipComponent, TnChipHarness, TnChipInputComponent, TnChipInputHarness, TnConfirmDialogComponent, TnDateInputComponent, TnDateInputHarness, TnDateRangeInputComponent, TnDateRangeInputHarness, TnDetailRowDefDirective, TnDialog, TnDialogHarness, TnDialogShellComponent, TnDialogTesting, TnDividerComponent, TnDividerDirective, TnDrawerComponent, TnDrawerContainerComponent, TnDrawerContainerHarness, TnDrawerContentComponent, TnDrawerHarness, TnEmptyComponent, TnEmptyHarness, TnExpansionPanelComponent, TnExpansionPanelHarness, TnFileInputComponent, TnFileInputHarness, TnFilePickerComponent, TnFilePickerHarness, TnFilePickerPopupComponent, TnFormErrorsComponent, TnFormErrorsHarness, TnFormFieldComponent, TnFormFieldHarness, TnFormListComponent, TnFormListHarness, TnFormListItemComponent, TnFormListItemHarness, TnFormSectionComponent, TnFormSectionHarness, 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, TnNestedTreeDataSource, TnNestedTreeNodeComponent, TnParticleProgressBarComponent, TnProgressBarComponent, TnRadioComponent, TnRadioGroupComponent, TnRadioGroupHarness, TnRadioHarness, TnRowActionsDefDirective, TnSelectComponent, TnSelectHarness, TnSelectionListComponent, TnSidePanelActionDirective, TnSidePanelComponent, TnSidePanelHarness, TnSidePanelHeaderActionDirective, TnSlideToggleComponent, TnSlideToggleHarness, TnSliderComponent, TnSliderThumbDirective, TnSliderWithLabelDirective, TnSpinnerComponent, TnSpriteLoaderService, TnStepComponent, TnStepperComponent, TnStepperHarness, TnStepperNextDirective, TnStepperPreviousDirective, TnTabComponent, TnTabHarness, TnTabPanelComponent, TnTabPanelHarness, TnTableColumnDirective, TnTableComponent, TnTableHarness, TnTablePagerComponent, TnTablePagerHarness, TnTableTesting, TnTabsComponent, TnTabsHarness, TnTestIdDirective, TnTheme, TnThemeService, TnTimeInputComponent, TnToastComponent, TnToastMock, TnToastPosition, TnToastRef, TnToastService, TnToastTesting, TnToastType, TnTooltipComponent, TnTooltipDirective, TnTooltipHarness, TnTooltipTesting, TnTreeComponent, TnTreeFlatDataSource, TnTreeFlattener, TnTreeHarness, TnTreeNodeComponent, TnTreeNodeHarness, TnTreeNodeOutletDirective, TnTreeVirtualScrollNodeOutletDirective, TnTreeVirtualScrollViewComponent, TnTreeVirtualScrollViewHarness, TruncatePathPipe, WindowsModifierKeys, WindowsShortcuts, allowsCurrentDirectorySelection, canonicalizeSize, composeTestId, controlTestId, createFlatTreeControl, createLucideLibrary, createNestedTreeControl, createShortcut, defaultSpriteBasePath, defaultSpriteConfigPath, defaultTreeItemSize, formatSize, formatSizeExact, formatSizeForEditing, getSelectableTypes, injectTnCalendarIntl, injectTnFallbackName, injectTnFormFieldAria, injectTnLabels, isPathWithinRoot, kebabTestSegment, labelMarkupToHtml, labelMarkupToText, libIconMarker, normalizeRootPath, optionTestId, parseLabelMarkup, parseSize, parseSizeParts, registerLucideIcons, resolveErrorMessage, scopeTestId, setupLucideIntegration, tnIconMarker, writeTestId };
|
|
15347
|
+
export type { AutocompleteHarnessFilters, BannerActionHarnessFilters, BannerHarnessFilters, ButtonHarnessFilters, ButtonToggleHarnessFilters, CalendarCell, CalendarCellFill, CalendarCellHarnessFilters, CalendarHarnessFilters, CheckboxHarnessFilters, ChipColor, ChipHarnessFilters, DateInputHarnessFilters, DateRange, DateRangeInputHarnessFilters, DialogHarnessFilters, EmptyHarnessFilters, ExpansionPanelHarnessFilters, FileInputHarnessFilters, FilePickerCallbacks, FilePickerCreateAction, FilePickerCreateActionEvent, FilePickerError, FilePickerHarnessFilters, FilePickerMode, FileSystemItem, FileSystemItemType, FlatTreeControlOptions, FormFieldHarnessFilters, FormSectionHarnessFilters, IconButtonHarnessFilters, IconHarnessFilters, IconLibrary, IconLibraryType, IconResult, IconSize, IconSource, IconTestingMockOverrides, InputHarnessFilters, KeyCombination, LabelMarkupSegment, LabelMarkupSegmentType, LabelType, LucideIconOptions, MenuHarnessFilters, MockIconRegistry, MockSpriteLoader, NestedTreeControlOptions, ParsedSize, PathSegment, PlatformType, ProgressBarMode, RadioGroupHarnessFilters, RadioHarnessFilters, ResolveErrorMessageOptions, ResolvedIcon, SelectHarnessFilters, ShortcutHandler, SidePanelHarnessFilters, SizeStandard, SlideToggleColor, SlideToggleHarnessFilters, SpinnerMode, SpriteConfig, StepperHarnessFilters, SubscriptSizing, TabChangeEvent, TabHarnessFilters, TabPanelHarnessFilters, TabsHarnessFilters, TnAutocompleteLabels, TnAutocompleteOption, TnBannerType, TnButtonToggleType, TnCalendarIntl, TnCalendarIntlInput, TnCalendarView, TnCardAction, TnCardControl, TnCardFooterLink, TnCardHeaderStatus, TnChipInputHarnessFilters, TnChipInputOption, TnConfirmDialogData, TnDialogChromeLabels, TnDialogDefaults, TnDialogOpenTarget, TnDrawerMode, TnDrawerPosition, TnEmptySize, TnFallbackLabels, TnFallbackName, TnFlatTreeNode, TnFormErrorsHarnessFilters, TnFormFieldAriaBindings, TnFormFieldContext, TnFormFieldErrorMessage, TnFormFieldErrorMessages, TnFormFieldErrorResolver, TnFormListContext, TnFormListHarnessFilters, TnFormListItemHarnessFilters, TnMenuItem, TnOptionTestIdSource, TnRadioGroupApi, TnRadioOption, TnSelectLabels, TnSelectOption, TnSelectOptionGroup, TnSelectionChange, TnSortEvent, TnTableDataProvider, TnTableDataSource, TnTableHarnessFilters, TnTableLabels, TnTableMobileLayout, TnTablePagerHarnessFilters, TnTablePagerLabels, TnTablePagination, TnTestAttrName, TnTestIdValue, TnThemeDefinition, TnToastCall, TnToastConfig, TnTreeExpansion, TnTreeHarnessFilters, TnTreeNodeHarnessFilters, TnTreeVirtualNodeData, TnTreeVirtualScrollViewHarnessFilters, TooltipHarnessFilters, TooltipPosition, YearCell };
|