@truenas/ui-components 0.1.57 → 0.1.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@truenas/ui-components",
3
- "version": "0.1.57",
3
+ "version": "0.1.58",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org",
6
6
  "access": "public"
@@ -16,6 +16,7 @@
16
16
  "@angular/cdk": "^21.0.0",
17
17
  "@angular/common": "^21.0.0",
18
18
  "@angular/core": "^21.0.0",
19
+ "@angular/router": "^21.0.0",
19
20
  "@mdi/angular-material": "^7.2.96",
20
21
  "@mdi/js": "^7.4.47"
21
22
  },
@@ -533,14 +533,36 @@ declare class TnButtonComponent {
533
533
  label: _angular_core.InputSignal<string>;
534
534
  disabled: _angular_core.InputSignal<boolean>;
535
535
  /**
536
- * Test-id applied to the rendered `<button>` element. Rendered under whichever attribute
536
+ * Test-id applied to the rendered element. Rendered under whichever attribute
537
537
  * name is configured via `TN_TEST_ATTR` (default `data-testid`).
538
538
  */
539
539
  testId: _angular_core.InputSignal<string | undefined>;
540
+ /**
541
+ * Renders the button as an `<a>` with a plain `href` attribute.
542
+ * Mutually exclusive with `routerLink` — if both are provided, `routerLink` wins.
543
+ */
544
+ href: _angular_core.InputSignal<string | undefined>;
545
+ /**
546
+ * Renders the button as an `<a>` driven by Angular Router. Accepts the same
547
+ * shapes as `[routerLink]` (`string | any[]`).
548
+ */
549
+ routerLink: _angular_core.InputSignal<string | unknown[] | undefined>;
550
+ queryParams: _angular_core.InputSignal<Record<string, unknown> | undefined>;
551
+ fragment: _angular_core.InputSignal<string | undefined>;
552
+ target: _angular_core.InputSignal<string | undefined>;
553
+ rel: _angular_core.InputSignal<string | undefined>;
554
+ /**
555
+ * Accessible label for the rendered element. Mirrors `aria-label`; useful when
556
+ * the visible label alone is insufficient (e.g. icon-only links).
557
+ */
558
+ ariaLabel: _angular_core.InputSignal<string | undefined>;
540
559
  onClick: _angular_core.OutputEmitterRef<MouseEvent>;
560
+ isAnchor: _angular_core.Signal<boolean>;
561
+ isRouterLink: _angular_core.Signal<boolean>;
541
562
  classes: _angular_core.Signal<string[]>;
563
+ handleAnchorClick(event: MouseEvent): void;
542
564
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnButtonComponent, never>;
543
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnButtonComponent, "tn-button", never, { "primary": { "alias": "primary"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, never, true, never>;
565
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnButtonComponent, "tn-button", never, { "primary": { "alias": "primary"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "queryParams": { "alias": "queryParams"; "required": false; "isSignal": true; }; "fragment": { "alias": "fragment"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; "rel": { "alias": "rel"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, never, true, never>;
544
566
  }
545
567
 
546
568
  /**
@@ -609,6 +631,18 @@ declare class TnButtonHarness extends ComponentHarness {
609
631
  * ```
610
632
  */
611
633
  isDisabled(): Promise<boolean>;
634
+ /**
635
+ * Gets the resolved URL of the rendered element. Returns the `href` for
636
+ * anchor-mode renders (both plain `href` and `routerLink`) and `null` for
637
+ * button-mode renders.
638
+ *
639
+ * @example
640
+ * ```typescript
641
+ * const link = await loader.getHarness(TnButtonHarness.with({ label: 'Audit Settings' }));
642
+ * expect(await link.getHref()).toContain('/audit/settings');
643
+ * ```
644
+ */
645
+ getHref(): Promise<string | null>;
612
646
  /**
613
647
  * Clicks the button.
614
648
  *
@@ -1294,6 +1328,12 @@ interface TnMenuItem {
1294
1328
  action?: () => void;
1295
1329
  children?: TnMenuItem[];
1296
1330
  shortcut?: string;
1331
+ /**
1332
+ * Marks this item as the currently-chosen option (e.g. the active sort key
1333
+ * or export format). Applies the `tn-menu-item--selected` class and an
1334
+ * `aria-current="true"` attribute. Visually distinct from focus/hover.
1335
+ */
1336
+ selected?: boolean;
1297
1337
  }
1298
1338
  declare class TnMenuComponent {
1299
1339
  items: _angular_core.InputSignal<TnMenuItem[]>;
@@ -1307,6 +1347,8 @@ declare class TnMenuComponent {
1307
1347
  private overlay;
1308
1348
  private viewContainerRef;
1309
1349
  onMenuItemClick(item: TnMenuItem): void;
1350
+ private contentItems;
1351
+ constructor();
1310
1352
  hasChildren: _angular_core.Signal<(item: TnMenuItem) => boolean>;
1311
1353
  onMenuOpen(): void;
1312
1354
  onMenuClose(): void;
@@ -1319,7 +1361,7 @@ declare class TnMenuComponent {
1319
1361
  onContextMenu(event: MouseEvent): void;
1320
1362
  trackByItemId(index: number, item: TnMenuItem): string;
1321
1363
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnMenuComponent, never>;
1322
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnMenuComponent, "tn-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "contextMenu": { "alias": "contextMenu"; "required": false; "isSignal": true; }; }, { "menuItemClick": "menuItemClick"; "menuOpen": "menuOpen"; "menuClose": "menuClose"; }, never, ["*"], true, never>;
1364
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnMenuComponent, "tn-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "contextMenu": { "alias": "contextMenu"; "required": false; "isSignal": true; }; }, { "menuItemClick": "menuItemClick"; "menuOpen": "menuOpen"; "menuClose": "menuClose"; }, ["contentItems"], ["*", "tn-menu-item, .tn-menu-separator"], true, never>;
1323
1365
  }
1324
1366
 
1325
1367
  declare class TnCardComponent {
@@ -2433,6 +2475,55 @@ interface TabsHarnessFilters extends BaseHarnessFilters {
2433
2475
  hasTab?: string | RegExp;
2434
2476
  }
2435
2477
 
2478
+ /**
2479
+ * Projection-based menu item for use inside `<tn-menu>`.
2480
+ *
2481
+ * Two authoring modes:
2482
+ * 1. **Convenience** — set `label` (and optionally `icon`/`shortcut`); the
2483
+ * default icon + label + shortcut layout renders.
2484
+ * 2. **Custom content** — omit `label`; project arbitrary content via
2485
+ * `<ng-content>` (badges, two-line layouts, etc.).
2486
+ *
2487
+ * Existing `<tn-menu [items]="...">` consumers don't need this component;
2488
+ * the items-array API continues to work unchanged. Items-array entries and
2489
+ * projected `<tn-menu-item>` children render together inside one `<tn-menu>`.
2490
+ *
2491
+ * Subscribe to either the projected item's own `itemClick` output (preferred,
2492
+ * per-item handlers) or the parent menu's `menuItemClick` (uniform handler).
2493
+ * Trigger-driven menus close automatically on projected-item click.
2494
+ *
2495
+ * **Note on keyboard navigation:** projected items render as `role="menuitem"`
2496
+ * buttons but do not participate in `CdkMenu` arrow-key navigation (CdkMenuItem
2497
+ * requires its parent `CdkMenu` in the same injector tree, which projection
2498
+ * breaks). For menus that depend on arrow-key navigation between options, use
2499
+ * the `items` input form. Tab/Shift+Tab and Enter/Space activation still work.
2500
+ *
2501
+ * @example
2502
+ * ```html
2503
+ * <tn-menu>
2504
+ * <tn-menu-item label="JSON" [selected]="format === 'json'"
2505
+ * (itemClick)="setFormat('json')" />
2506
+ * <tn-menu-item label="CSV" [selected]="format === 'csv'"
2507
+ * (itemClick)="setFormat('csv')" />
2508
+ * </tn-menu>
2509
+ * ```
2510
+ */
2511
+ declare class TnMenuItemComponent {
2512
+ id: _angular_core.InputSignal<string | undefined>;
2513
+ label: _angular_core.InputSignal<string | undefined>;
2514
+ icon: _angular_core.InputSignal<string | undefined>;
2515
+ iconLibrary: _angular_core.InputSignal<"material" | "mdi" | "custom" | "lucide" | undefined>;
2516
+ shortcut: _angular_core.InputSignal<string | undefined>;
2517
+ disabled: _angular_core.InputSignal<boolean>;
2518
+ selected: _angular_core.InputSignal<boolean>;
2519
+ testId: _angular_core.InputSignal<string | undefined>;
2520
+ itemClick: _angular_core.OutputEmitterRef<MouseEvent>;
2521
+ resolvedTestId: _angular_core.Signal<string | undefined>;
2522
+ handleClick(event: MouseEvent): void;
2523
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnMenuItemComponent, never>;
2524
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnMenuItemComponent, "tn-menu-item", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconLibrary": { "alias": "iconLibrary"; "required": false; "isSignal": true; }; "shortcut": { "alias": "shortcut"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, ["*"], true, never>;
2525
+ }
2526
+
2436
2527
  /**
2437
2528
  * Directive that attaches a menu to any element.
2438
2529
  * Usage: <button [tnMenuTriggerFor]="menu">Open Menu</button>
@@ -2555,6 +2646,24 @@ declare class TnMenuHarness extends ComponentHarness {
2555
2646
  * Gets the number of menu items (excluding separators).
2556
2647
  */
2557
2648
  getItemCount(): Promise<number>;
2649
+ /**
2650
+ * Checks whether a menu item is marked as the currently-selected option
2651
+ * (i.e. has `aria-current="true"`).
2652
+ *
2653
+ * @example
2654
+ * ```typescript
2655
+ * const menu = await rootLoader.getHarness(TnMenuHarness);
2656
+ * expect(await menu.isItemSelected({ label: 'JSON' })).toBe(true);
2657
+ * ```
2658
+ */
2659
+ isItemSelected(filter: {
2660
+ label: string | RegExp;
2661
+ }): Promise<boolean>;
2662
+ /**
2663
+ * Gets the label of the currently-selected item, or `null` when no item is
2664
+ * marked as selected.
2665
+ */
2666
+ getSelectedItemLabel(): Promise<string | null>;
2558
2667
  }
2559
2668
  /**
2560
2669
  * A set of criteria that can be used to filter `TnMenuHarness` instances.
@@ -5660,14 +5769,20 @@ declare class TnEmptyComponent {
5660
5769
  description: _angular_core.InputSignal<string | undefined>;
5661
5770
  icon: _angular_core.InputSignal<string | undefined>;
5662
5771
  iconLibrary: _angular_core.InputSignal<IconLibraryType>;
5772
+ /**
5773
+ * Overrides the icon size derived from `size`. Accepts any valid CSS size value
5774
+ * (e.g. `'48px'`, `'3rem'`). Use this when the variant presets are too small for an
5775
+ * empty-state illustration. When unset, the icon falls back to the `size`-based preset.
5776
+ */
5777
+ iconSize: _angular_core.InputSignal<string | undefined>;
5663
5778
  actionText: _angular_core.InputSignal<string | undefined>;
5664
5779
  bordered: _angular_core.InputSignal<boolean>;
5665
5780
  size: _angular_core.InputSignal<TnEmptySize>;
5666
5781
  onAction: _angular_core.OutputEmitterRef<void>;
5667
5782
  protected hasAction: _angular_core.Signal<boolean>;
5668
- iconSize: _angular_core.Signal<"lg" | "xl">;
5783
+ protected iconSizePreset: _angular_core.Signal<"lg" | "xl">;
5669
5784
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnEmptyComponent, never>;
5670
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnEmptyComponent, "tn-empty", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconLibrary": { "alias": "iconLibrary"; "required": false; "isSignal": true; }; "actionText": { "alias": "actionText"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "onAction": "onAction"; }, never, never, true, never>;
5785
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnEmptyComponent, "tn-empty", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconLibrary": { "alias": "iconLibrary"; "required": false; "isSignal": true; }; "iconSize": { "alias": "iconSize"; "required": false; "isSignal": true; }; "actionText": { "alias": "actionText"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "onAction": "onAction"; }, never, never, true, never>;
5671
5786
  }
5672
5787
 
5673
5788
  /**
@@ -6228,5 +6343,5 @@ declare const TN_THEME_DEFINITIONS: readonly TnThemeDefinition[];
6228
6343
  */
6229
6344
  declare const THEME_MAP: Map<TnTheme, TnThemeDefinition>;
6230
6345
 
6231
- export { CommonShortcuts, DEFAULT_THEME, DiskIconComponent, DiskType, FileSizePipe, InputType, LIGHT_THEME, LinuxModifierKeys, LinuxShortcuts, ModifierKeys, QuickShortcuts, ShortcutBuilder, StripMntPrefixPipe, THEME_MAP, THEME_STORAGE_KEY, TN_TEST_ATTR, TN_THEME_DEFINITIONS, TnAutocompleteComponent, TnAutocompleteHarness, TnBannerActionDirective, TnBannerComponent, TnBannerHarness, TnBrandedSpinnerComponent, TnButtonComponent, TnButtonHarness, TnButtonToggleComponent, TnButtonToggleGroupComponent, TnButtonToggleGroupHarness, TnButtonToggleHarness, TnCalendarComponent, TnCalendarHeaderComponent, TnCardComponent, TnCardHeaderDirective, TnCellDefDirective, TnCheckboxComponent, TnCheckboxHarness, TnCheckboxLabelDirective, TnChipComponent, TnConfirmDialogComponent, TnDateInputComponent, TnDateInputHarness, TnDateRangeInputComponent, TnDateRangeInputHarness, TnDetailRowDefDirective, TnDialog, TnDialogHarness, TnDialogShellComponent, TnDialogTesting, TnDividerComponent, TnDividerDirective, TnDrawerComponent, TnDrawerContainerComponent, TnDrawerContainerHarness, TnDrawerContentComponent, TnDrawerHarness, TnEmptyComponent, TnEmptyHarness, TnExpansionPanelComponent, TnExpansionPanelHarness, TnFilePickerComponent, TnFilePickerPopupComponent, TnFormFieldComponent, TnFormFieldHarness, TnHeaderCellDefDirective, TnIconButtonComponent, TnIconButtonHarness, TnIconComponent, TnIconHarness, TnIconRegistryService, TnIconTesting, TnInputComponent, TnInputDirective, TnInputHarness, TnKeyboardShortcutComponent, TnKeyboardShortcutService, TnListAvatarDirective, TnListComponent, TnListIconDirective, TnListItemComponent, TnListItemLineDirective, TnListItemPrimaryDirective, TnListItemSecondaryDirective, TnListItemTitleDirective, TnListItemTrailingDirective, TnListOptionComponent, TnListSubheaderComponent, TnMenuActivateHoverDirective, TnMenuComponent, TnMenuHarness, TnMenuTesting, TnMenuTriggerDirective, TnMonthViewComponent, TnMultiYearViewComponent, TnNestedTreeNodeComponent, TnParticleProgressBarComponent, TnProgressBarComponent, TnRadioComponent, TnRadioHarness, TnSelectComponent, TnSelectHarness, TnSelectionListComponent, TnSidePanelActionDirective, TnSidePanelComponent, TnSidePanelHarness, TnSidePanelHeaderActionDirective, TnSlideToggleComponent, TnSlideToggleHarness, TnSliderComponent, TnSliderThumbDirective, TnSliderWithLabelDirective, TnSpinnerComponent, TnSpriteLoaderService, TnStepComponent, TnStepperComponent, TnTabComponent, TnTabHarness, TnTabPanelComponent, TnTabPanelHarness, TnTableColumnDirective, TnTableComponent, TnTableHarness, TnTabsComponent, TnTabsHarness, TnTestIdDirective, TnTheme, TnThemeService, TnTimeInputComponent, TnToastComponent, TnToastMock, TnToastPosition, TnToastRef, TnToastService, TnToastTesting, TnToastType, TnTooltipComponent, TnTooltipDirective, TnTreeComponent, TnTreeFlatDataSource, TnTreeFlattener, TnTreeNodeComponent, TnTreeNodeOutletDirective, TruncatePathPipe, WindowsModifierKeys, WindowsShortcuts, createLucideLibrary, createShortcut, defaultSpriteBasePath, defaultSpriteConfigPath, libIconMarker, registerLucideIcons, setupLucideIntegration, tnIconMarker };
6346
+ export { CommonShortcuts, DEFAULT_THEME, DiskIconComponent, DiskType, FileSizePipe, InputType, LIGHT_THEME, LinuxModifierKeys, LinuxShortcuts, ModifierKeys, QuickShortcuts, ShortcutBuilder, StripMntPrefixPipe, THEME_MAP, THEME_STORAGE_KEY, TN_TEST_ATTR, TN_THEME_DEFINITIONS, TnAutocompleteComponent, TnAutocompleteHarness, TnBannerActionDirective, TnBannerComponent, TnBannerHarness, TnBrandedSpinnerComponent, TnButtonComponent, TnButtonHarness, TnButtonToggleComponent, TnButtonToggleGroupComponent, TnButtonToggleGroupHarness, TnButtonToggleHarness, TnCalendarComponent, TnCalendarHeaderComponent, TnCardComponent, TnCardHeaderDirective, TnCellDefDirective, TnCheckboxComponent, TnCheckboxHarness, TnCheckboxLabelDirective, TnChipComponent, TnConfirmDialogComponent, TnDateInputComponent, TnDateInputHarness, TnDateRangeInputComponent, TnDateRangeInputHarness, TnDetailRowDefDirective, TnDialog, TnDialogHarness, TnDialogShellComponent, TnDialogTesting, TnDividerComponent, TnDividerDirective, TnDrawerComponent, TnDrawerContainerComponent, TnDrawerContainerHarness, TnDrawerContentComponent, TnDrawerHarness, TnEmptyComponent, TnEmptyHarness, TnExpansionPanelComponent, TnExpansionPanelHarness, TnFilePickerComponent, TnFilePickerPopupComponent, TnFormFieldComponent, TnFormFieldHarness, TnHeaderCellDefDirective, TnIconButtonComponent, TnIconButtonHarness, TnIconComponent, TnIconHarness, TnIconRegistryService, TnIconTesting, TnInputComponent, TnInputDirective, TnInputHarness, TnKeyboardShortcutComponent, TnKeyboardShortcutService, TnListAvatarDirective, TnListComponent, TnListIconDirective, TnListItemComponent, TnListItemLineDirective, TnListItemPrimaryDirective, TnListItemSecondaryDirective, TnListItemTitleDirective, TnListItemTrailingDirective, TnListOptionComponent, TnListSubheaderComponent, TnMenuActivateHoverDirective, TnMenuComponent, TnMenuHarness, TnMenuItemComponent, TnMenuTesting, TnMenuTriggerDirective, TnMonthViewComponent, TnMultiYearViewComponent, TnNestedTreeNodeComponent, TnParticleProgressBarComponent, TnProgressBarComponent, TnRadioComponent, TnRadioHarness, TnSelectComponent, TnSelectHarness, TnSelectionListComponent, TnSidePanelActionDirective, TnSidePanelComponent, TnSidePanelHarness, TnSidePanelHeaderActionDirective, TnSlideToggleComponent, TnSlideToggleHarness, TnSliderComponent, TnSliderThumbDirective, TnSliderWithLabelDirective, TnSpinnerComponent, TnSpriteLoaderService, TnStepComponent, TnStepperComponent, TnTabComponent, TnTabHarness, TnTabPanelComponent, TnTabPanelHarness, TnTableColumnDirective, TnTableComponent, TnTableHarness, TnTabsComponent, TnTabsHarness, TnTestIdDirective, TnTheme, TnThemeService, TnTimeInputComponent, TnToastComponent, TnToastMock, TnToastPosition, TnToastRef, TnToastService, TnToastTesting, TnToastType, TnTooltipComponent, TnTooltipDirective, TnTreeComponent, TnTreeFlatDataSource, TnTreeFlattener, TnTreeNodeComponent, TnTreeNodeOutletDirective, TruncatePathPipe, WindowsModifierKeys, WindowsShortcuts, createLucideLibrary, createShortcut, defaultSpriteBasePath, defaultSpriteConfigPath, libIconMarker, registerLucideIcons, setupLucideIntegration, tnIconMarker };
6232
6347
  export type { AutocompleteHarnessFilters, BannerHarnessFilters, ButtonHarnessFilters, ButtonToggleHarnessFilters, CalendarCell, CheckboxHarnessFilters, ChipColor, CreateFolderEvent, DateInputHarnessFilters, DateRange, DateRangeInputHarnessFilters, DialogHarnessFilters, EmptyHarnessFilters, ExpansionPanelHarnessFilters, FilePickerCallbacks, FilePickerError, FilePickerMode, FileSystemItem, FormFieldHarnessFilters, IconButtonHarnessFilters, IconHarnessFilters, IconLibrary, IconLibraryType, IconResult, IconSize, IconSource, IconTestingMockOverrides, InputHarnessFilters, KeyCombination, LabelType, LucideIconOptions, MenuHarnessFilters, MockIconRegistry, MockSpriteLoader, PathSegment, PlatformType, ProgressBarMode, RadioHarnessFilters, ResolvedIcon, SelectHarnessFilters, ShortcutHandler, SidePanelHarnessFilters, SlideToggleColor, SlideToggleHarnessFilters, SpinnerMode, SpriteConfig, SubscriptSizing, TabChangeEvent, TabHarnessFilters, TabPanelHarnessFilters, TabsHarnessFilters, TnBannerType, TnButtonToggleType, TnCardAction, TnCardControl, TnCardFooterLink, TnCardHeaderStatus, TnConfirmDialogData, TnDialogDefaults, TnDialogOpenTarget, TnDrawerMode, TnDrawerPosition, TnEmptySize, TnFlatTreeNode, TnMenuItem, TnSelectOption, TnSelectOptionGroup, TnSelectionChange, TnSortEvent, TnTableDataSource, TnTableHarnessFilters, TnTestAttrName, TnThemeDefinition, TnToastCall, TnToastConfig, TooltipPosition, YearCell };