@truenas/ui-components 0.3.21 → 0.3.22

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@truenas/ui-components",
3
- "version": "0.3.21",
3
+ "version": "0.3.22",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org",
6
6
  "access": "public"
@@ -1,10 +1,10 @@
1
+ import * as _truenas_ui_components from '@truenas/ui-components';
1
2
  import * as _angular_core from '@angular/core';
2
3
  import { Signal, InjectionToken, Renderer2, OnDestroy, ElementRef, AfterViewInit, OnInit, TemplateRef, AfterContentInit, Provider, ChangeDetectorRef, TrackByFunction, OnChanges, DoCheck, SimpleChanges, PipeTransform, ViewContainerRef, AfterViewChecked, ComponentRef } from '@angular/core';
3
4
  import { ControlValueAccessor, NgControl, AbstractControl } from '@angular/forms';
4
5
  import { ComponentHarness, BaseHarnessFilters, HarnessPredicate, TestKey, HarnessLoader } from '@angular/cdk/testing';
5
6
  import { SafeHtml, SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';
6
7
  import { ComponentFixture } from '@angular/core/testing';
7
- import * as _truenas_ui_components from '@truenas/ui-components';
8
8
  import { SelectionModel, DataSource } from '@angular/cdk/collections';
9
9
  import * as rxjs from 'rxjs';
10
10
  import { Observable, BehaviorSubject } from 'rxjs';
@@ -229,12 +229,26 @@ declare class TnSelectComponent<T = unknown> implements ControlValueAccessor, On
229
229
  optionGroups: _angular_core.InputSignal<TnSelectOptionGroup<T>[]>;
230
230
  placeholder: _angular_core.InputSignal<string>;
231
231
  /**
232
- * Accessible label for the select trigger. When set, this is used as the
233
- * trigger's `aria-label` instead of the visible `placeholder` — useful in
232
+ * Explicit accessible label for the select trigger. When set, this is used as
233
+ * the trigger's `aria-label` instead of the visible `placeholder` — useful in
234
234
  * contexts (e.g. a pager's page-size dropdown) where the placeholder text
235
- * doesn't accurately describe the field's purpose to screen readers.
235
+ * doesn't accurately describe the field's purpose to screen readers. Inside a
236
+ * `tn-form-field` the field's label is associated automatically (via
237
+ * `aria-labelledby`) and takes precedence over the placeholder fallback;
238
+ * setting this overrides both.
236
239
  */
237
240
  ariaLabel: _angular_core.InputSignal<string | undefined>;
241
+ /**
242
+ * ARIA wiring from an enclosing `tn-form-field` (label, error/hint,
243
+ * invalid, required). All-null when standalone or when `ariaLabel` overrides.
244
+ */
245
+ protected readonly fieldAria: _truenas_ui_components.TnFormFieldAriaBindings;
246
+ /**
247
+ * `aria-label` for the trigger. An explicit `ariaLabel` always wins; the
248
+ * `placeholder` fallback only applies while no form-field label is wired via
249
+ * `aria-labelledby`, so the trigger never advertises two names at once.
250
+ */
251
+ protected triggerAriaLabel: _angular_core.Signal<string | null>;
238
252
  /**
239
253
  * Message shown inside the dropdown when no options (and no option groups)
240
254
  * are available. Defaults to the English `'No options available'`; consumers
@@ -547,8 +561,21 @@ declare class TnAutocompleteComponent<T = unknown> implements ControlValueAccess
547
561
  * custom property so it can also be themed in CSS.
548
562
  */
549
563
  panelMaxHeight: _angular_core.InputSignal<string | number>;
564
+ /**
565
+ * Explicit accessible name for the text field. Inside a `tn-form-field` the
566
+ * field's label is associated automatically (via `aria-labelledby`), so leave
567
+ * this unset there unless the announced name must differ from the visible
568
+ * label — when set, it wins. Standalone without either, the input has no
569
+ * accessible name (the placeholder is not one).
570
+ */
571
+ ariaLabel: _angular_core.InputSignal<string | undefined>;
550
572
  /** Test ID attribute */
551
573
  testId: _angular_core.InputSignal<TnTestIdValue>;
574
+ /**
575
+ * ARIA wiring from an enclosing `tn-form-field` (label, error/hint,
576
+ * invalid, required). All-null when standalone or when `ariaLabel` overrides.
577
+ */
578
+ protected readonly fieldAria: _truenas_ui_components.TnFormFieldAriaBindings;
552
579
  /** Emits the full option (label + value) when one is selected */
553
580
  optionSelected: _angular_core.OutputEmitterRef<TnAutocompleteOption<T>>;
554
581
  /**
@@ -686,7 +713,7 @@ declare class TnAutocompleteComponent<T = unknown> implements ControlValueAccess
686
713
  private detachOverlay;
687
714
  private scrollToHighlighted;
688
715
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnAutocompleteComponent<any>, never>;
689
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnAutocompleteComponent<any>, "tn-autocomplete", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "requireSelection": { "alias": "requireSelection"; "required": false; "isSignal": true; }; "allowCustomValue": { "alias": "allowCustomValue"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "filterFn": { "alias": "filterFn"; "required": false; "isSignal": true; }; "noResultsText": { "alias": "noResultsText"; "required": false; "isSignal": true; }; "maxResults": { "alias": "maxResults"; "required": false; "isSignal": true; }; "panelMaxHeight": { "alias": "panelMaxHeight"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, { "optionSelected": "optionSelected"; "searchChange": "searchChange"; "loadMore": "loadMore"; "opened": "opened"; }, never, never, true, never>;
716
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnAutocompleteComponent<any>, "tn-autocomplete", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "requireSelection": { "alias": "requireSelection"; "required": false; "isSignal": true; }; "allowCustomValue": { "alias": "allowCustomValue"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "filterFn": { "alias": "filterFn"; "required": false; "isSignal": true; }; "noResultsText": { "alias": "noResultsText"; "required": false; "isSignal": true; }; "maxResults": { "alias": "maxResults"; "required": false; "isSignal": true; }; "panelMaxHeight": { "alias": "panelMaxHeight"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, { "optionSelected": "optionSelected"; "searchChange": "searchChange"; "loadMore": "loadMore"; "opened": "opened"; }, never, never, true, never>;
690
717
  }
691
718
 
692
719
  /**
@@ -1718,13 +1745,18 @@ declare class TnInputComponent implements AfterViewInit, OnDestroy, ControlValue
1718
1745
  multiline: _angular_core.InputSignal<boolean>;
1719
1746
  rows: _angular_core.InputSignal<number>;
1720
1747
  /**
1721
- * Accessible name for the control. Rendered as `aria-label` on the input/textarea.
1722
- *
1723
- * Leave unset when the input is wrapped in a `tn-form-field` (or otherwise has a
1724
- * visible `<label>`); set it for standalone usage so the control isn't unnamed in
1725
- * the a11y tree.
1748
+ * Explicit accessible name for the control. Rendered as `aria-label` on the
1749
+ * input/textarea. Inside a `tn-form-field` the field's label is associated
1750
+ * automatically (via `aria-labelledby`), so leave this unset there unless the
1751
+ * announced name must differ from the visible label when set, it wins. Set
1752
+ * it for standalone usage so the control isn't unnamed in the a11y tree.
1726
1753
  */
1727
1754
  ariaLabel: _angular_core.InputSignal<string | undefined>;
1755
+ /**
1756
+ * ARIA wiring from an enclosing `tn-form-field` (label, error/hint,
1757
+ * invalid, required). All-null when standalone or when `ariaLabel` overrides.
1758
+ */
1759
+ protected readonly fieldAria: _truenas_ui_components.TnFormFieldAriaBindings;
1728
1760
  /**
1729
1761
  * Native `autocomplete` hint rendered on the input/textarea. Pass the standard
1730
1762
  * autofill tokens (`'username'`, `'current-password'`, `'new-password'`,
@@ -2730,8 +2762,18 @@ declare class TnChipInputComponent<T = string> implements ControlValueAccessor,
2730
2762
  * provide this when values are objects (e.g. `(a, b) => a?.id === b?.id`).
2731
2763
  */
2732
2764
  compareWith: _angular_core.InputSignal<((a: T | null, b: T | null) => boolean) | undefined>;
2733
- /** Accessible name for the text field. Leave unset inside a `tn-form-field`. */
2765
+ /**
2766
+ * Explicit accessible name for the text field. Inside a `tn-form-field` the
2767
+ * field's label is associated automatically (via `aria-labelledby`), so leave
2768
+ * this unset there unless the announced name must differ from the visible
2769
+ * label — when set, it wins.
2770
+ */
2734
2771
  ariaLabel: _angular_core.InputSignal<string | undefined>;
2772
+ /**
2773
+ * ARIA wiring from an enclosing `tn-form-field` (label, error/hint,
2774
+ * invalid, required). All-null when standalone or when `ariaLabel` overrides.
2775
+ */
2776
+ protected readonly fieldAria: _truenas_ui_components.TnFormFieldAriaBindings;
2735
2777
  /**
2736
2778
  * Semantic test-id base. The library prepends the `chip-input` element type
2737
2779
  * (e.g. `testId="tags"` → `chip-input-tags`); each chip and suggestion is
@@ -4499,8 +4541,72 @@ declare class TnKeyboardShortcutComponent {
4499
4541
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnKeyboardShortcutComponent, "tn-keyboard-shortcut", never, { "shortcut": { "alias": "shortcut"; "required": false; "isSignal": true; }; "platform": { "alias": "platform"; "required": false; "isSignal": true; }; "separator": { "alias": "separator"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
4500
4542
  }
4501
4543
 
4544
+ /**
4545
+ * Contract between `tn-form-field` and its projected form control, published
4546
+ * over DI so the control can wire its ARIA attributes to the field's chrome
4547
+ * without the consumer duplicating anything (e.g. re-passing the label as
4548
+ * `ariaLabel`).
4549
+ *
4550
+ * `tn-form-field` provides itself under {@link TN_FORM_FIELD_CONTEXT}; a
4551
+ * projected control injects it optionally (absent when used standalone) and
4552
+ * binds:
4553
+ *
4554
+ * - `aria-labelledby` ← {@link labelId} — the field's visible label names the control
4555
+ * - `aria-describedby` ← {@link describedBy} — the currently shown error or hint
4556
+ * - `aria-invalid` ← {@link errorState} — mirrors the field's visual error state
4557
+ * - `aria-required` ← {@link requiredState} — forced or inferred from validators
4558
+ *
4559
+ * Library controls consume this via {@link injectTnFormFieldAria} rather than
4560
+ * hand-rolling the bindings.
4561
+ */
4562
+ interface TnFormFieldContext {
4563
+ /** Id of the visible label text, or `null` when the field has no label. */
4564
+ labelId: Signal<string | null>;
4565
+ /** Id of the currently shown error or hint message, or `null` when neither renders. */
4566
+ describedBy: Signal<string | null>;
4567
+ /**
4568
+ * Whether the field currently shows its error state (invalid AND interacted —
4569
+ * the same gate as the visual error message, so `aria-invalid` never fires on
4570
+ * a pristine required field).
4571
+ */
4572
+ errorState: Signal<boolean>;
4573
+ /** Whether the field is required — forced via input or inferred from validators. */
4574
+ requiredState: Signal<boolean>;
4575
+ }
4576
+ /** DI token under which `tn-form-field` exposes its {@link TnFormFieldContext}. */
4577
+ declare const TN_FORM_FIELD_CONTEXT: InjectionToken<TnFormFieldContext>;
4578
+ /** Ready-to-bind ARIA attribute values derived from an enclosing `tn-form-field`. */
4579
+ interface TnFormFieldAriaBindings {
4580
+ /** Value for `aria-labelledby`; `null` standalone, without a field label, or when `ariaLabel` overrides. */
4581
+ labelledby: Signal<string | null>;
4582
+ /** Value for `aria-describedby`; the shown error/hint id or `null`. */
4583
+ describedby: Signal<string | null>;
4584
+ /** Value for `aria-invalid`; `true` while the field shows an error, else `null` (attribute omitted). */
4585
+ invalid: Signal<true | null>;
4586
+ /** Value for `aria-required`; `true` when the field is required, else `null` (attribute omitted). */
4587
+ required: Signal<true | null>;
4588
+ }
4589
+ /**
4590
+ * Wires a form control to an enclosing `tn-form-field`'s accessibility context.
4591
+ * Must be called in an injection context (field initializer or constructor).
4592
+ *
4593
+ * Standalone usage (no enclosing field) yields all-`null` signals, so the
4594
+ * attribute bindings simply render nothing.
4595
+ *
4596
+ * @param ariaLabel The control's own explicit accessible-name input, when it has
4597
+ * one. While set, it wins: `labelledby` goes `null` so the explicit
4598
+ * `aria-label` is what assistive tech announces.
4599
+ */
4600
+ declare function injectTnFormFieldAria(ariaLabel?: Signal<string | undefined>): TnFormFieldAriaBindings;
4601
+
4502
4602
  type SubscriptSizing = 'fixed' | 'dynamic';
4503
- declare class TnFormFieldComponent implements AfterContentInit {
4603
+ declare class TnFormFieldComponent implements AfterContentInit, TnFormFieldContext {
4604
+ /** Unique instance id namespacing the label/error/hint ids for ARIA linkage. */
4605
+ private readonly uid;
4606
+ /** Id carried by the error message element (only meaningful while it renders). */
4607
+ protected readonly errorId: string;
4608
+ /** Id carried by the hint element (only meaningful while it renders). */
4609
+ protected readonly hintId: string;
4504
4610
  label: _angular_core.InputSignal<string>;
4505
4611
  hint: _angular_core.InputSignal<string>;
4506
4612
  /**
@@ -4510,9 +4616,10 @@ declare class TnFormFieldComponent implements AfterContentInit {
4510
4616
  * see the requirement — e.g. a validator wrapped in `Validators.compose(...)`
4511
4617
  * or a custom validator that emits a `required`-style error.
4512
4618
  *
4513
- * The indicator is purely visual for native/a11y semantics pair it with the
4514
- * projected control's own `required` input (e.g. `tn-input`'s, which renders
4515
- * the native attribute).
4619
+ * Library form controls surface this state as `aria-required` automatically
4620
+ * (via {@link TnFormFieldContext}); pairing it with the projected control's
4621
+ * own `required` input (e.g. `tn-input`'s, which renders the native
4622
+ * attribute) additionally blocks native form submission.
4516
4623
  */
4517
4624
  required: _angular_core.InputSignal<boolean>;
4518
4625
  testId: _angular_core.InputSignal<TnTestIdValue>;
@@ -4594,6 +4701,18 @@ declare class TnFormFieldComponent implements AfterContentInit {
4594
4701
  showError: _angular_core.Signal<boolean>;
4595
4702
  showHint: _angular_core.Signal<boolean>;
4596
4703
  protected showSubscript: _angular_core.Signal<boolean>;
4704
+ /**
4705
+ * Id of the label *text* span — deliberately not the whole `<label>`, so an
4706
+ * `aria-labelledby` pointing here never picks up the required asterisk's
4707
+ * "required" into the accessible name (that state travels as `aria-required`).
4708
+ */
4709
+ labelId: _angular_core.Signal<string | null>;
4710
+ /** Id of the currently shown error or hint (they are mutually exclusive), or null. */
4711
+ describedBy: _angular_core.Signal<string | null>;
4712
+ /** Mirrors the visual error state (invalid AND interacted) for `aria-invalid`. */
4713
+ errorState: _angular_core.Signal<boolean>;
4714
+ /** Forced or validator-inferred required state, for `aria-required`. */
4715
+ requiredState: _angular_core.Signal<boolean>;
4597
4716
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnFormFieldComponent, never>;
4598
4717
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnFormFieldComponent, "tn-form-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; "errorMessages": { "alias": "errorMessages"; "required": false; "isSignal": true; }; }, {}, ["control"], ["*"], true, never>;
4599
4718
  }
@@ -9240,5 +9359,5 @@ declare const TN_THEME_DEFINITIONS: readonly TnThemeDefinition[];
9240
9359
  */
9241
9360
  declare const THEME_MAP: Map<TnTheme, TnThemeDefinition>;
9242
9361
 
9243
- export { CommonShortcuts, DEFAULT_THEME, DiskIconComponent, DiskType, FileSizePipe, InputType, LIGHT_THEME, LabelMarkupPipe, LabelTextPipe, LinuxModifierKeys, LinuxShortcuts, ModifierKeys, QuickShortcuts, ShortcutBuilder, StripMntPrefixPipe, THEME_MAP, THEME_STORAGE_KEY, TN_FORM_FIELD_ERRORS, TN_TABLE_PAGER_DEFAULT_LABELS, TN_TABLE_PAGER_LABELS, TN_TEST_ATTR, TN_THEME_DEFINITIONS, TnAutocompleteComponent, TnAutocompleteHarness, TnBannerActionDirective, TnBannerComponent, TnBannerHarness, TnBrandedSpinnerComponent, TnButtonComponent, TnButtonHarness, TnButtonToggleComponent, TnButtonToggleGroupComponent, TnButtonToggleGroupHarness, TnButtonToggleHarness, TnCalendarComponent, 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, TnFilePickerPopupComponent, TnFormFieldComponent, TnFormFieldHarness, 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, TnNestedTreeNodeComponent, TnParticleProgressBarComponent, TnProgressBarComponent, TnRadioComponent, TnRadioHarness, 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, TnTabsComponent, TnTabsHarness, TnTestIdDirective, TnTheme, TnThemeService, TnTimeInputComponent, TnToastComponent, TnToastMock, TnToastPosition, TnToastRef, TnToastService, TnToastTesting, TnToastType, TnTooltipComponent, TnTooltipDirective, TnTreeComponent, TnTreeFlatDataSource, TnTreeFlattener, TnTreeNodeComponent, TnTreeNodeOutletDirective, TnTreeVirtualScrollNodeOutletDirective, TnTreeVirtualScrollViewComponent, TnTreeVirtualScrollViewHarness, TruncatePathPipe, WindowsModifierKeys, WindowsShortcuts, composeTestId, controlTestId, createLucideLibrary, createShortcut, defaultSpriteBasePath, defaultSpriteConfigPath, defaultTreeItemSize, formatSize, kebabTestSegment, labelMarkupToHtml, labelMarkupToText, libIconMarker, parseLabelMarkup, parseSize, registerLucideIcons, scopeTestId, setupLucideIntegration, tnIconMarker, writeTestId };
9244
- export type { AutocompleteHarnessFilters, BannerHarnessFilters, ButtonHarnessFilters, ButtonToggleHarnessFilters, CalendarCell, CheckboxHarnessFilters, ChipColor, ChipHarnessFilters, CreateFolderEvent, DateInputHarnessFilters, DateRange, DateRangeInputHarnessFilters, DialogHarnessFilters, EmptyHarnessFilters, ExpansionPanelHarnessFilters, FileInputHarnessFilters, FilePickerCallbacks, FilePickerError, FilePickerMode, FileSystemItem, FormFieldHarnessFilters, FormSectionHarnessFilters, IconButtonHarnessFilters, IconHarnessFilters, IconLibrary, IconLibraryType, IconResult, IconSize, IconSource, IconTestingMockOverrides, InputHarnessFilters, KeyCombination, LabelMarkupSegment, LabelMarkupSegmentType, LabelType, LucideIconOptions, MenuHarnessFilters, MockIconRegistry, MockSpriteLoader, PathSegment, PlatformType, ProgressBarMode, RadioHarnessFilters, ResolvedIcon, SelectHarnessFilters, ShortcutHandler, SidePanelHarnessFilters, SizeStandard, SlideToggleColor, SlideToggleHarnessFilters, SpinnerMode, SpriteConfig, StepperHarnessFilters, SubscriptSizing, TabChangeEvent, TabHarnessFilters, TabPanelHarnessFilters, TabsHarnessFilters, TnAutocompleteOption, TnBannerType, TnButtonToggleType, TnCardAction, TnCardControl, TnCardFooterLink, TnCardHeaderStatus, TnChipInputHarnessFilters, TnChipInputOption, TnConfirmDialogData, TnDialogDefaults, TnDialogOpenTarget, TnDrawerMode, TnDrawerPosition, TnEmptySize, TnFlatTreeNode, TnFormFieldErrorMessage, TnFormFieldErrorMessages, TnFormFieldErrorResolver, TnMenuItem, TnSelectOption, TnSelectOptionGroup, TnSelectionChange, TnSortEvent, TnTableDataProvider, TnTableDataSource, TnTableHarnessFilters, TnTablePagerHarnessFilters, TnTablePagerLabels, TnTablePagination, TnTestAttrName, TnTestIdValue, TnThemeDefinition, TnToastCall, TnToastConfig, TnTreeVirtualNodeData, TnTreeVirtualScrollViewHarnessFilters, TooltipPosition, YearCell };
9362
+ export { CommonShortcuts, DEFAULT_THEME, DiskIconComponent, DiskType, FileSizePipe, InputType, LIGHT_THEME, LabelMarkupPipe, LabelTextPipe, LinuxModifierKeys, LinuxShortcuts, ModifierKeys, QuickShortcuts, ShortcutBuilder, StripMntPrefixPipe, THEME_MAP, THEME_STORAGE_KEY, TN_FORM_FIELD_CONTEXT, TN_FORM_FIELD_ERRORS, TN_TABLE_PAGER_DEFAULT_LABELS, TN_TABLE_PAGER_LABELS, TN_TEST_ATTR, TN_THEME_DEFINITIONS, TnAutocompleteComponent, TnAutocompleteHarness, TnBannerActionDirective, TnBannerComponent, TnBannerHarness, TnBrandedSpinnerComponent, TnButtonComponent, TnButtonHarness, TnButtonToggleComponent, TnButtonToggleGroupComponent, TnButtonToggleGroupHarness, TnButtonToggleHarness, TnCalendarComponent, 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, TnFilePickerPopupComponent, TnFormFieldComponent, TnFormFieldHarness, 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, TnNestedTreeNodeComponent, TnParticleProgressBarComponent, TnProgressBarComponent, TnRadioComponent, TnRadioHarness, 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, TnTabsComponent, TnTabsHarness, TnTestIdDirective, TnTheme, TnThemeService, TnTimeInputComponent, TnToastComponent, TnToastMock, TnToastPosition, TnToastRef, TnToastService, TnToastTesting, TnToastType, TnTooltipComponent, TnTooltipDirective, TnTreeComponent, TnTreeFlatDataSource, TnTreeFlattener, TnTreeNodeComponent, TnTreeNodeOutletDirective, TnTreeVirtualScrollNodeOutletDirective, TnTreeVirtualScrollViewComponent, TnTreeVirtualScrollViewHarness, TruncatePathPipe, WindowsModifierKeys, WindowsShortcuts, composeTestId, controlTestId, createLucideLibrary, createShortcut, defaultSpriteBasePath, defaultSpriteConfigPath, defaultTreeItemSize, formatSize, injectTnFormFieldAria, kebabTestSegment, labelMarkupToHtml, labelMarkupToText, libIconMarker, parseLabelMarkup, parseSize, registerLucideIcons, scopeTestId, setupLucideIntegration, tnIconMarker, writeTestId };
9363
+ export type { AutocompleteHarnessFilters, BannerHarnessFilters, ButtonHarnessFilters, ButtonToggleHarnessFilters, CalendarCell, CheckboxHarnessFilters, ChipColor, ChipHarnessFilters, CreateFolderEvent, DateInputHarnessFilters, DateRange, DateRangeInputHarnessFilters, DialogHarnessFilters, EmptyHarnessFilters, ExpansionPanelHarnessFilters, FileInputHarnessFilters, FilePickerCallbacks, FilePickerError, FilePickerMode, FileSystemItem, FormFieldHarnessFilters, FormSectionHarnessFilters, IconButtonHarnessFilters, IconHarnessFilters, IconLibrary, IconLibraryType, IconResult, IconSize, IconSource, IconTestingMockOverrides, InputHarnessFilters, KeyCombination, LabelMarkupSegment, LabelMarkupSegmentType, LabelType, LucideIconOptions, MenuHarnessFilters, MockIconRegistry, MockSpriteLoader, PathSegment, PlatformType, ProgressBarMode, RadioHarnessFilters, ResolvedIcon, SelectHarnessFilters, ShortcutHandler, SidePanelHarnessFilters, SizeStandard, SlideToggleColor, SlideToggleHarnessFilters, SpinnerMode, SpriteConfig, StepperHarnessFilters, SubscriptSizing, TabChangeEvent, TabHarnessFilters, TabPanelHarnessFilters, TabsHarnessFilters, TnAutocompleteOption, TnBannerType, TnButtonToggleType, TnCardAction, TnCardControl, TnCardFooterLink, TnCardHeaderStatus, TnChipInputHarnessFilters, TnChipInputOption, TnConfirmDialogData, TnDialogDefaults, TnDialogOpenTarget, TnDrawerMode, TnDrawerPosition, TnEmptySize, TnFlatTreeNode, TnFormFieldAriaBindings, TnFormFieldContext, TnFormFieldErrorMessage, TnFormFieldErrorMessages, TnFormFieldErrorResolver, TnMenuItem, TnSelectOption, TnSelectOptionGroup, TnSelectionChange, TnSortEvent, TnTableDataProvider, TnTableDataSource, TnTableHarnessFilters, TnTablePagerHarnessFilters, TnTablePagerLabels, TnTablePagination, TnTestAttrName, TnTestIdValue, TnThemeDefinition, TnToastCall, TnToastConfig, TnTreeVirtualNodeData, TnTreeVirtualScrollViewHarnessFilters, TooltipPosition, YearCell };