@truenas/ui-components 0.1.13 → 0.1.14

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.13",
3
+ "version": "0.1.14",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org",
6
6
  "access": "public"
@@ -465,6 +465,14 @@ declare class TnInputComponent implements AfterViewInit, ControlValueAccessor {
465
465
  disabled: _angular_core.InputSignal<boolean>;
466
466
  multiline: _angular_core.InputSignal<boolean>;
467
467
  rows: _angular_core.InputSignal<number>;
468
+ prefixIcon: _angular_core.InputSignal<string | undefined>;
469
+ prefixIconLibrary: _angular_core.InputSignal<IconLibraryType | undefined>;
470
+ suffixIcon: _angular_core.InputSignal<string | undefined>;
471
+ suffixIconLibrary: _angular_core.InputSignal<IconLibraryType | undefined>;
472
+ suffixIconAriaLabel: _angular_core.InputSignal<string | undefined>;
473
+ onSuffixAction: _angular_core.OutputEmitterRef<MouseEvent>;
474
+ hasPrefixIcon: _angular_core.Signal<boolean>;
475
+ hasSuffixIcon: _angular_core.Signal<boolean>;
468
476
  id: string;
469
477
  value: string;
470
478
  private formDisabled;
@@ -480,7 +488,308 @@ declare class TnInputComponent implements AfterViewInit, ControlValueAccessor {
480
488
  onValueChange(event: Event): void;
481
489
  onBlur(): void;
482
490
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnInputComponent, never>;
483
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnInputComponent, "tn-input", never, { "inputType": { "alias": "inputType"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "multiline": { "alias": "multiline"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
491
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnInputComponent, "tn-input", never, { "inputType": { "alias": "inputType"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "multiline": { "alias": "multiline"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; "isSignal": true; }; "prefixIconLibrary": { "alias": "prefixIconLibrary"; "required": false; "isSignal": true; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; "isSignal": true; }; "suffixIconLibrary": { "alias": "suffixIconLibrary"; "required": false; "isSignal": true; }; "suffixIconAriaLabel": { "alias": "suffixIconAriaLabel"; "required": false; "isSignal": true; }; }, { "onSuffixAction": "onSuffixAction"; }, never, never, true, never>;
492
+ }
493
+
494
+ /**
495
+ * Harness for interacting with tn-icon in tests.
496
+ * Provides filtering by icon name and library for existence checks, as well as click interaction.
497
+ *
498
+ * @example
499
+ * ```typescript
500
+ * // Check for existence
501
+ * const icon = await loader.getHarness(TnIconHarness);
502
+ *
503
+ * // Find icon by name
504
+ * const folderIcon = await loader.getHarness(
505
+ * TnIconHarness.with({ name: 'folder' })
506
+ * );
507
+ *
508
+ * // Find icon by name and library
509
+ * const mdiIcon = await loader.getHarness(
510
+ * TnIconHarness.with({ name: 'account-circle', library: 'mdi' })
511
+ * );
512
+ *
513
+ * // Check if icon exists
514
+ * const hasIcon = await loader.hasHarness(
515
+ * TnIconHarness.with({ name: 'check' })
516
+ * );
517
+ *
518
+ * // Click an icon
519
+ * const closeIcon = await loader.getHarness(
520
+ * TnIconHarness.with({ name: 'close' })
521
+ * );
522
+ * await closeIcon.click();
523
+ * ```
524
+ */
525
+ declare class TnIconHarness extends ComponentHarness {
526
+ /**
527
+ * The selector for the host element of a `TnIconComponent` instance.
528
+ */
529
+ static hostSelector: string;
530
+ /**
531
+ * Gets a `HarnessPredicate` that can be used to search for an icon
532
+ * with specific attributes.
533
+ *
534
+ * @param options Options for filtering which icon instances are considered a match.
535
+ * @returns A `HarnessPredicate` configured with the given options.
536
+ *
537
+ * @example
538
+ * ```typescript
539
+ * // Find icon by name
540
+ * const icon = await loader.getHarness(
541
+ * TnIconHarness.with({ name: 'home' })
542
+ * );
543
+ *
544
+ * // Find icon by library
545
+ * const customIcon = await loader.getHarness(
546
+ * TnIconHarness.with({ library: 'custom' })
547
+ * );
548
+ *
549
+ * // Find icon with specific size
550
+ * const largeIcon = await loader.getHarness(
551
+ * TnIconHarness.with({ size: 'lg' })
552
+ * );
553
+ * ```
554
+ */
555
+ static with(options?: IconHarnessFilters): HarnessPredicate<TnIconHarness>;
556
+ /**
557
+ * Gets the icon name.
558
+ *
559
+ * @returns Promise resolving to the icon name.
560
+ *
561
+ * @example
562
+ * ```typescript
563
+ * const icon = await loader.getHarness(TnIconHarness);
564
+ * const name = await icon.getName();
565
+ * expect(name).toBe('folder');
566
+ * ```
567
+ */
568
+ getName(): Promise<string | null>;
569
+ /**
570
+ * Gets the icon library.
571
+ *
572
+ * @returns Promise resolving to the icon library.
573
+ *
574
+ * @example
575
+ * ```typescript
576
+ * const icon = await loader.getHarness(TnIconHarness);
577
+ * const library = await icon.getLibrary();
578
+ * expect(library).toBe('mdi');
579
+ * ```
580
+ */
581
+ getLibrary(): Promise<string | null>;
582
+ /**
583
+ * Gets the icon size.
584
+ *
585
+ * @returns Promise resolving to the icon size.
586
+ *
587
+ * @example
588
+ * ```typescript
589
+ * const icon = await loader.getHarness(TnIconHarness);
590
+ * const size = await icon.getSize();
591
+ * expect(size).toBe('lg');
592
+ * ```
593
+ */
594
+ getSize(): Promise<string | null>;
595
+ /**
596
+ * Gets the icon color.
597
+ *
598
+ * @returns Promise resolving to the icon color.
599
+ *
600
+ * @example
601
+ * ```typescript
602
+ * const icon = await loader.getHarness(TnIconHarness);
603
+ * const color = await icon.getColor();
604
+ * expect(color).toBe('primary');
605
+ * ```
606
+ */
607
+ getColor(): Promise<string | null>;
608
+ /**
609
+ * Checks if the icon is in full-size mode.
610
+ *
611
+ * @returns Promise resolving to true if the icon is full-size, false otherwise.
612
+ *
613
+ * @example
614
+ * ```typescript
615
+ * const icon = await loader.getHarness(TnIconHarness);
616
+ * const isFullSize = await icon.isFullSize();
617
+ * expect(isFullSize).toBe(true);
618
+ * ```
619
+ */
620
+ isFullSize(): Promise<boolean>;
621
+ /**
622
+ * Gets the icon custom size.
623
+ *
624
+ * @returns Promise resolving to the custom size value, or null if not set.
625
+ *
626
+ * @example
627
+ * ```typescript
628
+ * const icon = await loader.getHarness(TnIconHarness);
629
+ * const customSize = await icon.getCustomSize();
630
+ * expect(customSize).toBe('64px');
631
+ * ```
632
+ */
633
+ getCustomSize(): Promise<string | null>;
634
+ /**
635
+ * Checks if the icon is using a custom size.
636
+ *
637
+ * @returns Promise resolving to true if a custom size is set, false otherwise.
638
+ *
639
+ * @example
640
+ * ```typescript
641
+ * const icon = await loader.getHarness(TnIconHarness);
642
+ * const hasCustomSize = await icon.hasCustomSize();
643
+ * expect(hasCustomSize).toBe(true);
644
+ * ```
645
+ */
646
+ hasCustomSize(): Promise<boolean>;
647
+ /**
648
+ * Clicks the icon.
649
+ *
650
+ * @returns Promise that resolves when the click action is complete.
651
+ *
652
+ * @example
653
+ * ```typescript
654
+ * const icon = await loader.getHarness(TnIconHarness.with({ name: 'close' }));
655
+ * await icon.click();
656
+ * ```
657
+ */
658
+ click(): Promise<void>;
659
+ }
660
+ /**
661
+ * A set of criteria that can be used to filter a list of `TnIconHarness` instances.
662
+ */
663
+ interface IconHarnessFilters extends BaseHarnessFilters {
664
+ /** Filters by icon name. */
665
+ name?: string;
666
+ /** Filters by icon library (material, mdi, custom, lucide). */
667
+ library?: string;
668
+ /** Filters by icon size (xs, sm, md, lg, xl). */
669
+ size?: string;
670
+ /** Filters by full-size mode. */
671
+ fullSize?: boolean;
672
+ /** Filters by custom size value. */
673
+ customSize?: string;
674
+ }
675
+
676
+ /**
677
+ * Harness for interacting with tn-input in tests.
678
+ * Provides methods for querying state, setting values, and interacting with prefix/suffix icons.
679
+ *
680
+ * @example
681
+ * ```typescript
682
+ * // Get the input harness
683
+ * const input = await loader.getHarness(TnInputHarness);
684
+ *
685
+ * // Set and read a value
686
+ * await input.setValue('hello');
687
+ * expect(await input.getValue()).toBe('hello');
688
+ *
689
+ * // Check for prefix icon
690
+ * expect(await input.hasPrefixIcon()).toBe(true);
691
+ *
692
+ * // Click suffix action
693
+ * await input.clickSuffixAction();
694
+ * ```
695
+ */
696
+ declare class TnInputHarness extends ComponentHarness {
697
+ /**
698
+ * The selector for the host element of a `TnInputComponent` instance.
699
+ */
700
+ static hostSelector: string;
701
+ private inputEl;
702
+ private textareaEl;
703
+ private prefixIconEl;
704
+ private suffixButton;
705
+ private suffixIconEl;
706
+ /**
707
+ * Gets a `HarnessPredicate` that can be used to search for an input
708
+ * with specific attributes.
709
+ *
710
+ * @param options Options for filtering which input instances are considered a match.
711
+ * @returns A `HarnessPredicate` configured with the given options.
712
+ */
713
+ static with(options?: InputHarnessFilters): HarnessPredicate<TnInputHarness>;
714
+ /**
715
+ * Gets the current value of the input.
716
+ *
717
+ * @returns Promise resolving to the input value.
718
+ */
719
+ getValue(): Promise<string>;
720
+ /**
721
+ * Sets the value of the input by clearing and typing.
722
+ *
723
+ * @param value The value to set.
724
+ */
725
+ setValue(value: string): Promise<void>;
726
+ /**
727
+ * Gets the placeholder text.
728
+ *
729
+ * @returns Promise resolving to the placeholder string.
730
+ */
731
+ getPlaceholder(): Promise<string | null>;
732
+ /**
733
+ * Checks whether the input is disabled.
734
+ *
735
+ * @returns Promise resolving to true if the input is disabled.
736
+ */
737
+ isDisabled(): Promise<boolean>;
738
+ /**
739
+ * Checks whether the input renders as a textarea.
740
+ *
741
+ * @returns Promise resolving to true if multiline.
742
+ */
743
+ isMultiline(): Promise<boolean>;
744
+ /**
745
+ * Checks whether a prefix icon is present.
746
+ *
747
+ * @returns Promise resolving to true if a prefix icon exists.
748
+ */
749
+ hasPrefixIcon(): Promise<boolean>;
750
+ /**
751
+ * Gets the prefix icon harness for further inspection.
752
+ *
753
+ * @returns Promise resolving to the prefix TnIconHarness, or null if not present.
754
+ */
755
+ getPrefixIcon(): Promise<TnIconHarness | null>;
756
+ /**
757
+ * Checks whether a suffix action button is present.
758
+ *
759
+ * @returns Promise resolving to true if a suffix action exists.
760
+ */
761
+ hasSuffixAction(): Promise<boolean>;
762
+ /**
763
+ * Gets the suffix icon harness for further inspection.
764
+ *
765
+ * @returns Promise resolving to the suffix TnIconHarness, or null if not present.
766
+ */
767
+ getSuffixIcon(): Promise<TnIconHarness | null>;
768
+ /**
769
+ * Clicks the suffix action button.
770
+ *
771
+ * @returns Promise that resolves when the click action is complete.
772
+ */
773
+ clickSuffixAction(): Promise<void>;
774
+ /**
775
+ * Focuses the input element.
776
+ *
777
+ * @returns Promise that resolves when the input is focused.
778
+ */
779
+ focus(): Promise<void>;
780
+ /**
781
+ * Blurs the input element.
782
+ *
783
+ * @returns Promise that resolves when the input is blurred.
784
+ */
785
+ blur(): Promise<void>;
786
+ }
787
+ /**
788
+ * A set of criteria that can be used to filter a list of `TnInputHarness` instances.
789
+ */
790
+ interface InputHarnessFilters extends BaseHarnessFilters {
791
+ /** Filters by placeholder text. */
792
+ placeholder?: string;
484
793
  }
485
794
 
486
795
  declare class TnInputDirective {
@@ -1076,188 +1385,6 @@ interface SelectHarnessFilters extends BaseHarnessFilters {
1076
1385
  displayText?: string | RegExp;
1077
1386
  }
1078
1387
 
1079
- /**
1080
- * Harness for interacting with tn-icon in tests.
1081
- * Provides filtering by icon name and library for existence checks, as well as click interaction.
1082
- *
1083
- * @example
1084
- * ```typescript
1085
- * // Check for existence
1086
- * const icon = await loader.getHarness(TnIconHarness);
1087
- *
1088
- * // Find icon by name
1089
- * const folderIcon = await loader.getHarness(
1090
- * TnIconHarness.with({ name: 'folder' })
1091
- * );
1092
- *
1093
- * // Find icon by name and library
1094
- * const mdiIcon = await loader.getHarness(
1095
- * TnIconHarness.with({ name: 'account-circle', library: 'mdi' })
1096
- * );
1097
- *
1098
- * // Check if icon exists
1099
- * const hasIcon = await loader.hasHarness(
1100
- * TnIconHarness.with({ name: 'check' })
1101
- * );
1102
- *
1103
- * // Click an icon
1104
- * const closeIcon = await loader.getHarness(
1105
- * TnIconHarness.with({ name: 'close' })
1106
- * );
1107
- * await closeIcon.click();
1108
- * ```
1109
- */
1110
- declare class TnIconHarness extends ComponentHarness {
1111
- /**
1112
- * The selector for the host element of a `TnIconComponent` instance.
1113
- */
1114
- static hostSelector: string;
1115
- /**
1116
- * Gets a `HarnessPredicate` that can be used to search for an icon
1117
- * with specific attributes.
1118
- *
1119
- * @param options Options for filtering which icon instances are considered a match.
1120
- * @returns A `HarnessPredicate` configured with the given options.
1121
- *
1122
- * @example
1123
- * ```typescript
1124
- * // Find icon by name
1125
- * const icon = await loader.getHarness(
1126
- * TnIconHarness.with({ name: 'home' })
1127
- * );
1128
- *
1129
- * // Find icon by library
1130
- * const customIcon = await loader.getHarness(
1131
- * TnIconHarness.with({ library: 'custom' })
1132
- * );
1133
- *
1134
- * // Find icon with specific size
1135
- * const largeIcon = await loader.getHarness(
1136
- * TnIconHarness.with({ size: 'lg' })
1137
- * );
1138
- * ```
1139
- */
1140
- static with(options?: IconHarnessFilters): HarnessPredicate<TnIconHarness>;
1141
- /**
1142
- * Gets the icon name.
1143
- *
1144
- * @returns Promise resolving to the icon name.
1145
- *
1146
- * @example
1147
- * ```typescript
1148
- * const icon = await loader.getHarness(TnIconHarness);
1149
- * const name = await icon.getName();
1150
- * expect(name).toBe('folder');
1151
- * ```
1152
- */
1153
- getName(): Promise<string | null>;
1154
- /**
1155
- * Gets the icon library.
1156
- *
1157
- * @returns Promise resolving to the icon library.
1158
- *
1159
- * @example
1160
- * ```typescript
1161
- * const icon = await loader.getHarness(TnIconHarness);
1162
- * const library = await icon.getLibrary();
1163
- * expect(library).toBe('mdi');
1164
- * ```
1165
- */
1166
- getLibrary(): Promise<string | null>;
1167
- /**
1168
- * Gets the icon size.
1169
- *
1170
- * @returns Promise resolving to the icon size.
1171
- *
1172
- * @example
1173
- * ```typescript
1174
- * const icon = await loader.getHarness(TnIconHarness);
1175
- * const size = await icon.getSize();
1176
- * expect(size).toBe('lg');
1177
- * ```
1178
- */
1179
- getSize(): Promise<string | null>;
1180
- /**
1181
- * Gets the icon color.
1182
- *
1183
- * @returns Promise resolving to the icon color.
1184
- *
1185
- * @example
1186
- * ```typescript
1187
- * const icon = await loader.getHarness(TnIconHarness);
1188
- * const color = await icon.getColor();
1189
- * expect(color).toBe('primary');
1190
- * ```
1191
- */
1192
- getColor(): Promise<string | null>;
1193
- /**
1194
- * Checks if the icon is in full-size mode.
1195
- *
1196
- * @returns Promise resolving to true if the icon is full-size, false otherwise.
1197
- *
1198
- * @example
1199
- * ```typescript
1200
- * const icon = await loader.getHarness(TnIconHarness);
1201
- * const isFullSize = await icon.isFullSize();
1202
- * expect(isFullSize).toBe(true);
1203
- * ```
1204
- */
1205
- isFullSize(): Promise<boolean>;
1206
- /**
1207
- * Gets the icon custom size.
1208
- *
1209
- * @returns Promise resolving to the custom size value, or null if not set.
1210
- *
1211
- * @example
1212
- * ```typescript
1213
- * const icon = await loader.getHarness(TnIconHarness);
1214
- * const customSize = await icon.getCustomSize();
1215
- * expect(customSize).toBe('64px');
1216
- * ```
1217
- */
1218
- getCustomSize(): Promise<string | null>;
1219
- /**
1220
- * Checks if the icon is using a custom size.
1221
- *
1222
- * @returns Promise resolving to true if a custom size is set, false otherwise.
1223
- *
1224
- * @example
1225
- * ```typescript
1226
- * const icon = await loader.getHarness(TnIconHarness);
1227
- * const hasCustomSize = await icon.hasCustomSize();
1228
- * expect(hasCustomSize).toBe(true);
1229
- * ```
1230
- */
1231
- hasCustomSize(): Promise<boolean>;
1232
- /**
1233
- * Clicks the icon.
1234
- *
1235
- * @returns Promise that resolves when the click action is complete.
1236
- *
1237
- * @example
1238
- * ```typescript
1239
- * const icon = await loader.getHarness(TnIconHarness.with({ name: 'close' }));
1240
- * await icon.click();
1241
- * ```
1242
- */
1243
- click(): Promise<void>;
1244
- }
1245
- /**
1246
- * A set of criteria that can be used to filter a list of `TnIconHarness` instances.
1247
- */
1248
- interface IconHarnessFilters extends BaseHarnessFilters {
1249
- /** Filters by icon name. */
1250
- name?: string;
1251
- /** Filters by icon library (material, mdi, custom, lucide). */
1252
- library?: string;
1253
- /** Filters by icon size (xs, sm, md, lg, xl). */
1254
- size?: string;
1255
- /** Filters by full-size mode. */
1256
- fullSize?: boolean;
1257
- /** Filters by custom size value. */
1258
- customSize?: string;
1259
- }
1260
-
1261
1388
  /**
1262
1389
  * Default base path for sprite assets (namespaced to avoid collisions with consumer apps)
1263
1390
  * This should match the value in sprite-config-interface.ts
@@ -3251,5 +3378,5 @@ declare const TN_THEME_DEFINITIONS: readonly TnThemeDefinition[];
3251
3378
  */
3252
3379
  declare const THEME_MAP: Map<TnTheme, TnThemeDefinition>;
3253
3380
 
3254
- export { CommonShortcuts, DEFAULT_THEME, DiskIconComponent, DiskType, FileSizePipe, InputType, LinuxModifierKeys, LinuxShortcuts, ModifierKeys, QuickShortcuts, ShortcutBuilder, StripMntPrefixPipe, THEME_MAP, THEME_STORAGE_KEY, TN_THEME_DEFINITIONS, TnBannerActionDirective, TnBannerComponent, TnBannerHarness, TnBrandedSpinnerComponent, TnButtonComponent, TnButtonHarness, TnButtonToggleComponent, TnButtonToggleGroupComponent, TnCalendarComponent, TnCalendarHeaderComponent, TnCardComponent, TnCellDefDirective, TnCheckboxComponent, TnChipComponent, TnConfirmDialogComponent, TnDateInputComponent, TnDateRangeInputComponent, TnDialog, TnDialogShellComponent, TnDividerComponent, TnDividerDirective, TnExpansionPanelComponent, TnFilePickerComponent, TnFilePickerPopupComponent, TnFormFieldComponent, TnHeaderCellDefDirective, TnIconButtonComponent, TnIconButtonHarness, TnIconComponent, TnIconHarness, TnIconRegistryService, TnIconTesting, TnInputComponent, TnInputDirective, TnKeyboardShortcutComponent, TnKeyboardShortcutService, TnListAvatarDirective, TnListComponent, TnListIconDirective, TnListItemComponent, TnListItemLineDirective, TnListItemPrimaryDirective, TnListItemSecondaryDirective, TnListItemTitleDirective, TnListItemTrailingDirective, TnListOptionComponent, TnListSubheaderComponent, TnMenuComponent, TnMenuTriggerDirective, TnMonthViewComponent, TnMultiYearViewComponent, TnNestedTreeNodeComponent, TnParticleProgressBarComponent, TnProgressBarComponent, TnRadioComponent, TnSelectComponent, TnSelectHarness, TnSelectionListComponent, TnSlideToggleComponent, TnSliderComponent, TnSliderThumbDirective, TnSliderWithLabelDirective, TnSpinnerComponent, TnSpriteLoaderService, TnStepComponent, TnStepperComponent, TnTabComponent, TnTabPanelComponent, TnTableColumnDirective, TnTableComponent, TnTabsComponent, TnTheme, TnThemeService, TnTimeInputComponent, TnTooltipComponent, TnTooltipDirective, TnTreeComponent, TnTreeFlatDataSource, TnTreeFlattener, TnTreeNodeComponent, TnTreeNodeOutletDirective, TruncatePathPipe, WindowsModifierKeys, WindowsShortcuts, createLucideLibrary, createShortcut, defaultSpriteBasePath, defaultSpriteConfigPath, libIconMarker, registerLucideIcons, setupLucideIntegration, tnIconMarker };
3255
- export type { BannerHarnessFilters, ButtonHarnessFilters, CalendarCell, ChipColor, CreateFolderEvent, DateRange, FilePickerCallbacks, FilePickerError, FilePickerMode, FileSystemItem, IconButtonHarnessFilters, IconHarnessFilters, IconLibrary, IconLibraryType, IconResult, IconSize, IconSource, IconTestingMockOverrides, KeyCombination, LabelType, LucideIconOptions, MockIconRegistry, MockSpriteLoader, PathSegment, PlatformType, ProgressBarMode, ResolvedIcon, SelectHarnessFilters, ShortcutHandler, SlideToggleColor, SpinnerMode, SpriteConfig, TabChangeEvent, TnBannerType, TnButtonToggleType, TnCardAction, TnCardControl, TnCardFooterLink, TnCardHeaderStatus, TnConfirmDialogData, TnDialogDefaults, TnDialogOpenTarget, TnFlatTreeNode, TnMenuItem, TnSelectOption, TnSelectOptionGroup, TnSelectionChange, TnTableDataSource, TnThemeDefinition, TooltipPosition, YearCell };
3381
+ export { CommonShortcuts, DEFAULT_THEME, DiskIconComponent, DiskType, FileSizePipe, InputType, LinuxModifierKeys, LinuxShortcuts, ModifierKeys, QuickShortcuts, ShortcutBuilder, StripMntPrefixPipe, THEME_MAP, THEME_STORAGE_KEY, TN_THEME_DEFINITIONS, TnBannerActionDirective, TnBannerComponent, TnBannerHarness, TnBrandedSpinnerComponent, TnButtonComponent, TnButtonHarness, TnButtonToggleComponent, TnButtonToggleGroupComponent, TnCalendarComponent, TnCalendarHeaderComponent, TnCardComponent, TnCellDefDirective, TnCheckboxComponent, TnChipComponent, TnConfirmDialogComponent, TnDateInputComponent, TnDateRangeInputComponent, TnDialog, TnDialogShellComponent, TnDividerComponent, TnDividerDirective, TnExpansionPanelComponent, TnFilePickerComponent, TnFilePickerPopupComponent, TnFormFieldComponent, TnHeaderCellDefDirective, TnIconButtonComponent, TnIconButtonHarness, TnIconComponent, TnIconHarness, TnIconRegistryService, TnIconTesting, TnInputComponent, TnInputDirective, TnInputHarness, TnKeyboardShortcutComponent, TnKeyboardShortcutService, TnListAvatarDirective, TnListComponent, TnListIconDirective, TnListItemComponent, TnListItemLineDirective, TnListItemPrimaryDirective, TnListItemSecondaryDirective, TnListItemTitleDirective, TnListItemTrailingDirective, TnListOptionComponent, TnListSubheaderComponent, TnMenuComponent, TnMenuTriggerDirective, TnMonthViewComponent, TnMultiYearViewComponent, TnNestedTreeNodeComponent, TnParticleProgressBarComponent, TnProgressBarComponent, TnRadioComponent, TnSelectComponent, TnSelectHarness, TnSelectionListComponent, TnSlideToggleComponent, TnSliderComponent, TnSliderThumbDirective, TnSliderWithLabelDirective, TnSpinnerComponent, TnSpriteLoaderService, TnStepComponent, TnStepperComponent, TnTabComponent, TnTabPanelComponent, TnTableColumnDirective, TnTableComponent, TnTabsComponent, TnTheme, TnThemeService, TnTimeInputComponent, TnTooltipComponent, TnTooltipDirective, TnTreeComponent, TnTreeFlatDataSource, TnTreeFlattener, TnTreeNodeComponent, TnTreeNodeOutletDirective, TruncatePathPipe, WindowsModifierKeys, WindowsShortcuts, createLucideLibrary, createShortcut, defaultSpriteBasePath, defaultSpriteConfigPath, libIconMarker, registerLucideIcons, setupLucideIntegration, tnIconMarker };
3382
+ export type { BannerHarnessFilters, ButtonHarnessFilters, CalendarCell, ChipColor, CreateFolderEvent, DateRange, FilePickerCallbacks, FilePickerError, FilePickerMode, FileSystemItem, IconButtonHarnessFilters, IconHarnessFilters, IconLibrary, IconLibraryType, IconResult, IconSize, IconSource, IconTestingMockOverrides, InputHarnessFilters, KeyCombination, LabelType, LucideIconOptions, MockIconRegistry, MockSpriteLoader, PathSegment, PlatformType, ProgressBarMode, ResolvedIcon, SelectHarnessFilters, ShortcutHandler, SlideToggleColor, SpinnerMode, SpriteConfig, TabChangeEvent, TnBannerType, TnButtonToggleType, TnCardAction, TnCardControl, TnCardFooterLink, TnCardHeaderStatus, TnConfirmDialogData, TnDialogDefaults, TnDialogOpenTarget, TnFlatTreeNode, TnMenuItem, TnSelectOption, TnSelectOptionGroup, TnSelectionChange, TnTableDataSource, TnThemeDefinition, TooltipPosition, YearCell };