@truenas/ui-components 0.1.40 → 0.1.42

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.1.40",
3
+ "version": "0.1.42",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org",
6
6
  "access": "public"
@@ -1,10 +1,10 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { ElementRef, OnDestroy, AfterViewInit, AfterContentInit, TemplateRef, Provider, ChangeDetectorRef, PipeTransform, OnInit, ViewContainerRef, AfterViewChecked, ComponentRef } from '@angular/core';
2
+ import { ElementRef, OnDestroy, AfterViewInit, AfterContentInit, TemplateRef, Provider, ChangeDetectorRef, OnInit, PipeTransform, ViewContainerRef, AfterViewChecked, ComponentRef } 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';
6
6
  import { ComponentFixture } from '@angular/core/testing';
7
- import { DataSource } from '@angular/cdk/collections';
7
+ import { SelectionModel, DataSource } from '@angular/cdk/collections';
8
8
  import * as i1 from '@angular/cdk/tree';
9
9
  import { CdkTree, FlatTreeControl, CdkTreeNode, CdkNestedTreeNode } from '@angular/cdk/tree';
10
10
  export { FlatTreeControl } from '@angular/cdk/tree';
@@ -3490,10 +3490,30 @@ declare class TnCellDefDirective {
3490
3490
  }
3491
3491
  declare class TnTableColumnDirective {
3492
3492
  name: _angular_core.InputSignal<string>;
3493
+ sortable: _angular_core.InputSignal<boolean>;
3493
3494
  headerTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
3494
3495
  cellTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
3495
3496
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnTableColumnDirective, never>;
3496
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TnTableColumnDirective, "[tnColumnDef]", ["tnColumnDef"], { "name": { "alias": "tnColumnDef"; "required": true; "isSignal": true; }; }, {}, ["headerTemplate", "cellTemplate"], never, true, never>;
3497
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TnTableColumnDirective, "[tnColumnDef]", ["tnColumnDef"], { "name": { "alias": "tnColumnDef"; "required": true; "isSignal": true; }; "sortable": { "alias": "sortable"; "required": false; "isSignal": true; }; }, {}, ["headerTemplate", "cellTemplate"], never, true, never>;
3498
+ }
3499
+ /**
3500
+ * Directive to define the expandable detail row template.
3501
+ * Place inside `tn-table` to provide expanded content for each row.
3502
+ *
3503
+ * @example
3504
+ * ```html
3505
+ * <tn-table [dataSource]="data" [displayedColumns]="columns" [expandable]="true">
3506
+ * ...column defs...
3507
+ * <ng-template tnDetailRowDef let-row>
3508
+ * <p>Details for {{ row.name }}</p>
3509
+ * </ng-template>
3510
+ * </tn-table>
3511
+ * ```
3512
+ */
3513
+ declare class TnDetailRowDefDirective {
3514
+ template: TemplateRef<any>;
3515
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnDetailRowDefDirective, never>;
3516
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TnDetailRowDefDirective, "[tnDetailRowDef]", never, {}, {}, never, never, true, never>;
3497
3517
  }
3498
3518
 
3499
3519
  interface TnTableDataSource<T = unknown> {
@@ -3501,20 +3521,192 @@ interface TnTableDataSource<T = unknown> {
3501
3521
  connect?(): T[];
3502
3522
  disconnect?(): void;
3503
3523
  }
3504
- declare class TnTableComponent<T = unknown> {
3524
+ interface TnSortEvent {
3525
+ column: string;
3526
+ direction: 'asc' | 'desc' | '';
3527
+ }
3528
+ declare class TnTableComponent<T = unknown> implements OnInit {
3529
+ private destroyRef;
3505
3530
  dataSource: _angular_core.InputSignal<TnTableDataSource<T> | T[]>;
3506
3531
  displayedColumns: _angular_core.InputSignal<string[]>;
3532
+ trackBy: _angular_core.InputSignal<((index: number, item: T) => unknown) | undefined>;
3533
+ emptyMessage: _angular_core.InputSignal<string>;
3534
+ emptyIcon: _angular_core.InputSignal<string>;
3535
+ selectable: _angular_core.InputSignal<boolean>;
3536
+ expandable: _angular_core.InputSignal<boolean>;
3537
+ sortChange: _angular_core.OutputEmitterRef<TnSortEvent>;
3538
+ selectionChange: _angular_core.OutputEmitterRef<T[]>;
3507
3539
  columnDefs: _angular_core.Signal<readonly TnTableColumnDirective[]>;
3540
+ detailRowDef: _angular_core.Signal<TnDetailRowDefDirective | undefined>;
3541
+ sortColumn: _angular_core.WritableSignal<string>;
3542
+ sortDirection: _angular_core.WritableSignal<"" | "desc" | "asc">;
3543
+ /**
3544
+ * Set of currently expanded row references.
3545
+ * Note: uses object identity. If the consumer replaces the data array
3546
+ * (e.g. after sorting), expanded state is lost. A future key-based
3547
+ * approach could address this.
3548
+ */
3549
+ expandedRows: _angular_core.WritableSignal<Set<unknown>>;
3550
+ selection: SelectionModel<T>;
3551
+ private selectionCount;
3552
+ private initialized;
3508
3553
  private columnDefMap;
3509
- private cdr;
3510
3554
  constructor();
3511
- private processColumnDefs;
3555
+ ngOnInit(): void;
3512
3556
  data: _angular_core.Signal<T[]>;
3557
+ effectiveDisplayedColumns: _angular_core.Signal<string[]>;
3558
+ isAllSelected: _angular_core.Signal<boolean>;
3559
+ isIndeterminate: _angular_core.Signal<boolean>;
3560
+ trackByFn: _angular_core.Signal<(index: number, item: T) => unknown>;
3561
+ onSortClick(column: string): void;
3562
+ getSortIcon(column: string): string;
3563
+ getExpandIcon(row: T): string;
3564
+ isSorted(column: string): boolean;
3565
+ toggleRowExpansion(row: T): void;
3566
+ isRowExpanded(row: T): boolean;
3567
+ toggleSelectAll(): void;
3568
+ toggleRowSelection(row: T): void;
3569
+ isRowSelected(row: T): boolean;
3513
3570
  getColumnDef(columnName: string): TnTableColumnDirective | undefined;
3514
- trackByIndex(index: number): number;
3515
3571
  getCellValue(row: T, column: string): unknown;
3516
3572
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnTableComponent<any>, never>;
3517
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnTableComponent<any>, "tn-table", never, { "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "displayedColumns": { "alias": "displayedColumns"; "required": false; "isSignal": true; }; }, {}, ["columnDefs"], never, true, never>;
3573
+ 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; }; }, { "sortChange": "sortChange"; "selectionChange": "selectionChange"; }, ["columnDefs", "detailRowDef"], never, true, never>;
3574
+ }
3575
+
3576
+ /**
3577
+ * Harness for interacting with `tn-table` in tests.
3578
+ * Provides methods for querying rows/cells, sorting, selecting, and expanding.
3579
+ *
3580
+ * @example
3581
+ * ```typescript
3582
+ * const table = await loader.getHarness(TnTableHarness);
3583
+ * expect(await table.getRowCount()).toBe(5);
3584
+ *
3585
+ * await table.clickSortHeader('name');
3586
+ * expect(await table.getSortDirection('name')).toBe('ascending');
3587
+ *
3588
+ * await table.toggleRowExpansion(0);
3589
+ * expect(await table.isRowExpanded(0)).toBe(true);
3590
+ * ```
3591
+ */
3592
+ declare class TnTableHarness extends ComponentHarness {
3593
+ static hostSelector: string;
3594
+ /**
3595
+ * Gets a `HarnessPredicate` that can be used to search for a table
3596
+ * with specific attributes.
3597
+ *
3598
+ * @param options Options for filtering which instances are considered a match.
3599
+ * @returns A `HarnessPredicate` configured with the given options.
3600
+ */
3601
+ static with(options?: TnTableHarnessFilters): HarnessPredicate<TnTableHarness>;
3602
+ /**
3603
+ * Gets the number of data rows (excludes header and detail rows).
3604
+ *
3605
+ * @returns Promise resolving to the row count.
3606
+ */
3607
+ getRowCount(): Promise<number>;
3608
+ /**
3609
+ * Gets the text content of header cells (excludes sort icons).
3610
+ *
3611
+ * @returns Promise resolving to an array of header text strings.
3612
+ */
3613
+ getHeaderTexts(): Promise<string[]>;
3614
+ /**
3615
+ * Gets the text of all data-column cells in a specific row.
3616
+ *
3617
+ * @param rowIndex Zero-based index of the data row.
3618
+ * @returns Promise resolving to an array of cell text strings.
3619
+ */
3620
+ getRowTexts(rowIndex: number): Promise<string[]>;
3621
+ /**
3622
+ * Gets the text of a specific cell by row and column.
3623
+ *
3624
+ * @param rowIndex Zero-based index of the data row.
3625
+ * @param columnName The column's data-column attribute value.
3626
+ * @returns Promise resolving to the cell text.
3627
+ */
3628
+ getCellText(rowIndex: number, columnName: string): Promise<string>;
3629
+ /**
3630
+ * Gets all row texts as a 2D string array (data-column cells only).
3631
+ *
3632
+ * @returns Promise resolving to an array of row text arrays.
3633
+ */
3634
+ getAllRowTexts(): Promise<string[][]>;
3635
+ /**
3636
+ * Clicks a sortable column header to cycle sort direction.
3637
+ *
3638
+ * @param columnName The column's data-column attribute value.
3639
+ */
3640
+ clickSortHeader(columnName: string): Promise<void>;
3641
+ /**
3642
+ * Checks whether a column header has the sortable class.
3643
+ *
3644
+ * @param columnName The column's data-column attribute value.
3645
+ * @returns Promise resolving to true if the column is sortable.
3646
+ */
3647
+ isSortable(columnName: string): Promise<boolean>;
3648
+ /**
3649
+ * Gets the current sort direction for a column via aria-sort.
3650
+ *
3651
+ * @param columnName The column's data-column attribute value.
3652
+ * @returns Promise resolving to 'ascending', 'descending', or null.
3653
+ */
3654
+ getSortDirection(columnName: string): Promise<string | null>;
3655
+ /**
3656
+ * Clicks the select-all checkbox in the header.
3657
+ */
3658
+ toggleSelectAll(): Promise<void>;
3659
+ /**
3660
+ * Toggles selection for a specific row by clicking its checkbox cell.
3661
+ *
3662
+ * @param rowIndex Zero-based index of the data row.
3663
+ */
3664
+ toggleRowSelection(rowIndex: number): Promise<void>;
3665
+ /**
3666
+ * Checks if a specific row's checkbox is checked.
3667
+ *
3668
+ * @param rowIndex Zero-based index of the data row.
3669
+ * @returns Promise resolving to true if the row's checkbox is checked.
3670
+ */
3671
+ isRowSelected(rowIndex: number): Promise<boolean>;
3672
+ /**
3673
+ * Gets the count of currently selected rows.
3674
+ *
3675
+ * @returns Promise resolving to the number of checked row checkboxes.
3676
+ */
3677
+ getSelectedRowCount(): Promise<number>;
3678
+ /**
3679
+ * Clicks the expand button for a specific row.
3680
+ *
3681
+ * @param rowIndex Zero-based index of the data row.
3682
+ */
3683
+ toggleRowExpansion(rowIndex: number): Promise<void>;
3684
+ /**
3685
+ * Checks if a data row is currently expanded.
3686
+ *
3687
+ * @param rowIndex Zero-based index of the data row.
3688
+ * @returns Promise resolving to true if the row has the expanded class.
3689
+ */
3690
+ isRowExpanded(rowIndex: number): Promise<boolean>;
3691
+ /**
3692
+ * Gets the text content of an expanded detail row.
3693
+ *
3694
+ * @param detailIndex Zero-based index among currently visible detail rows.
3695
+ * @returns Promise resolving to the detail row text.
3696
+ */
3697
+ getDetailRowContent(detailIndex: number): Promise<string>;
3698
+ /**
3699
+ * Gets the count of currently expanded detail rows.
3700
+ *
3701
+ * @returns Promise resolving to the number of visible detail rows.
3702
+ */
3703
+ getExpandedRowCount(): Promise<number>;
3704
+ private assertRowExists;
3705
+ }
3706
+ /**
3707
+ * Filters for finding `TnTableHarness` instances.
3708
+ */
3709
+ interface TnTableHarnessFilters extends BaseHarnessFilters {
3518
3710
  }
3519
3711
 
3520
3712
  /** Flat node with expandable and level information */
@@ -4242,6 +4434,20 @@ declare class TnDateInputHarness extends ComponentHarness {
4242
4434
  * @returns Promise resolving to true if the calendar overlay is visible.
4243
4435
  */
4244
4436
  isCalendarOpen(): Promise<boolean>;
4437
+ /**
4438
+ * Selects a date via the calendar popup. Opens the calendar if not already
4439
+ * open, navigates to the target month, and clicks the day cell.
4440
+ *
4441
+ * @param date The date to select.
4442
+ *
4443
+ * @example
4444
+ * ```typescript
4445
+ * const dateInput = await loader.getHarness(TnDateInputHarness);
4446
+ * await dateInput.selectDate(new Date(2026, 3, 15));
4447
+ * expect(await dateInput.getDisplayText()).toBe('04/15/2026');
4448
+ * ```
4449
+ */
4450
+ selectDate(date: Date): Promise<void>;
4245
4451
  }
4246
4452
  /**
4247
4453
  * Filters for finding `TnDateInputHarness` instances.
@@ -4328,6 +4534,27 @@ declare class TnDateRangeInputHarness extends ComponentHarness {
4328
4534
  * @returns Promise resolving to true if the calendar overlay is visible.
4329
4535
  */
4330
4536
  isCalendarOpen(): Promise<boolean>;
4537
+ /**
4538
+ * Selects a date range via the calendar popup. Opens the calendar if not
4539
+ * already open, navigates to each target month, and clicks the day cells.
4540
+ *
4541
+ * @param range An object with `start` and `end` dates.
4542
+ *
4543
+ * @example
4544
+ * ```typescript
4545
+ * const rangeInput = await loader.getHarness(TnDateRangeInputHarness);
4546
+ * await rangeInput.selectRange({
4547
+ * start: new Date(2026, 0, 1),
4548
+ * end: new Date(2026, 0, 31),
4549
+ * });
4550
+ * expect(await rangeInput.getStartText()).toBe('01/01/2026');
4551
+ * expect(await rangeInput.getEndText()).toBe('01/31/2026');
4552
+ * ```
4553
+ */
4554
+ selectRange(range: {
4555
+ start: Date;
4556
+ end: Date;
4557
+ }): Promise<void>;
4331
4558
  }
4332
4559
  /**
4333
4560
  * Filters for finding `TnDateRangeInputHarness` instances.
@@ -5805,5 +6032,5 @@ declare const TN_THEME_DEFINITIONS: readonly TnThemeDefinition[];
5805
6032
  */
5806
6033
  declare const THEME_MAP: Map<TnTheme, TnThemeDefinition>;
5807
6034
 
5808
- 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, TnCellDefDirective, TnCheckboxComponent, TnCheckboxHarness, TnCheckboxLabelDirective, TnChipComponent, TnConfirmDialogComponent, TnDateInputComponent, TnDateInputHarness, TnDateRangeInputComponent, TnDateRangeInputHarness, 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, 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 };
5809
- 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, TabChangeEvent, TabHarnessFilters, TabPanelHarnessFilters, TabsHarnessFilters, TnBannerType, TnButtonToggleType, TnCardAction, TnCardControl, TnCardFooterLink, TnCardHeaderStatus, TnConfirmDialogData, TnDialogDefaults, TnDialogOpenTarget, TnDrawerMode, TnDrawerPosition, TnEmptySize, TnFlatTreeNode, TnMenuItem, TnSelectOption, TnSelectOptionGroup, TnSelectionChange, TnTableDataSource, TnThemeDefinition, TnToastCall, TnToastConfig, TooltipPosition, YearCell };
6035
+ 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, 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 };
6036
+ 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, 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 };