@truenas/ui-components 0.1.4 → 0.1.6
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
|
@@ -3,7 +3,6 @@ import { AfterViewInit, ElementRef, OnDestroy, TemplateRef, AfterContentInit, Pr
|
|
|
3
3
|
import { ComponentHarness, BaseHarnessFilters, HarnessPredicate } from '@angular/cdk/testing';
|
|
4
4
|
import { SafeHtml, SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';
|
|
5
5
|
import { ControlValueAccessor, NgControl } from '@angular/forms';
|
|
6
|
-
import { jest } from '@jest/globals';
|
|
7
6
|
import { DataSource } from '@angular/cdk/collections';
|
|
8
7
|
import * as i1 from '@angular/cdk/tree';
|
|
9
8
|
import { CdkTree, FlatTreeControl, CdkTreeNode, CdkNestedTreeNode } from '@angular/cdk/tree';
|
|
@@ -295,6 +294,155 @@ declare class TnIconButtonComponent {
|
|
|
295
294
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnIconButtonComponent, "tn-icon-button", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "library": { "alias": "library"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, never, true, never>;
|
|
296
295
|
}
|
|
297
296
|
|
|
297
|
+
/**
|
|
298
|
+
* Harness for interacting with tn-icon-button in tests.
|
|
299
|
+
* Provides filtering by icon properties and methods for querying state and simulating interactions.
|
|
300
|
+
*
|
|
301
|
+
* @example
|
|
302
|
+
* ```typescript
|
|
303
|
+
* // Find icon button by name
|
|
304
|
+
* const closeBtn = await loader.getHarness(
|
|
305
|
+
* TnIconButtonHarness.with({ name: 'close' })
|
|
306
|
+
* );
|
|
307
|
+
*
|
|
308
|
+
* // Click an icon button
|
|
309
|
+
* const settingsBtn = await loader.getHarness(
|
|
310
|
+
* TnIconButtonHarness.with({ name: 'settings' })
|
|
311
|
+
* );
|
|
312
|
+
* await settingsBtn.click();
|
|
313
|
+
*
|
|
314
|
+
* // Check if disabled
|
|
315
|
+
* const deleteBtn = await loader.getHarness(
|
|
316
|
+
* TnIconButtonHarness.with({ name: 'delete' })
|
|
317
|
+
* );
|
|
318
|
+
* expect(await deleteBtn.isDisabled()).toBe(false);
|
|
319
|
+
* ```
|
|
320
|
+
*/
|
|
321
|
+
declare class TnIconButtonHarness extends ComponentHarness {
|
|
322
|
+
/**
|
|
323
|
+
* The selector for the host element of a `TnIconButtonComponent` instance.
|
|
324
|
+
*/
|
|
325
|
+
static hostSelector: string;
|
|
326
|
+
private button;
|
|
327
|
+
/**
|
|
328
|
+
* Gets a `HarnessPredicate` that can be used to search for an icon button
|
|
329
|
+
* with specific attributes.
|
|
330
|
+
*
|
|
331
|
+
* @param options Options for filtering which icon button instances are considered a match.
|
|
332
|
+
* @returns A `HarnessPredicate` configured with the given options.
|
|
333
|
+
*
|
|
334
|
+
* @example
|
|
335
|
+
* ```typescript
|
|
336
|
+
* // Find icon button by name
|
|
337
|
+
* const button = await loader.getHarness(
|
|
338
|
+
* TnIconButtonHarness.with({ name: 'menu' })
|
|
339
|
+
* );
|
|
340
|
+
*
|
|
341
|
+
* // Find icon button by library
|
|
342
|
+
* const customButton = await loader.getHarness(
|
|
343
|
+
* TnIconButtonHarness.with({ library: 'mdi' })
|
|
344
|
+
* );
|
|
345
|
+
*
|
|
346
|
+
* // Find icon button with specific size
|
|
347
|
+
* const largeButton = await loader.getHarness(
|
|
348
|
+
* TnIconButtonHarness.with({ size: 'lg' })
|
|
349
|
+
* );
|
|
350
|
+
* ```
|
|
351
|
+
*/
|
|
352
|
+
static with(options?: IconButtonHarnessFilters): HarnessPredicate<TnIconButtonHarness>;
|
|
353
|
+
/**
|
|
354
|
+
* Gets the icon name.
|
|
355
|
+
*
|
|
356
|
+
* @returns Promise resolving to the icon name.
|
|
357
|
+
*
|
|
358
|
+
* @example
|
|
359
|
+
* ```typescript
|
|
360
|
+
* const button = await loader.getHarness(TnIconButtonHarness);
|
|
361
|
+
* const name = await button.getName();
|
|
362
|
+
* expect(name).toBe('settings');
|
|
363
|
+
* ```
|
|
364
|
+
*/
|
|
365
|
+
getName(): Promise<string | null>;
|
|
366
|
+
/**
|
|
367
|
+
* Gets the icon library.
|
|
368
|
+
*
|
|
369
|
+
* @returns Promise resolving to the icon library.
|
|
370
|
+
*
|
|
371
|
+
* @example
|
|
372
|
+
* ```typescript
|
|
373
|
+
* const button = await loader.getHarness(TnIconButtonHarness);
|
|
374
|
+
* const library = await button.getLibrary();
|
|
375
|
+
* expect(library).toBe('mdi');
|
|
376
|
+
* ```
|
|
377
|
+
*/
|
|
378
|
+
getLibrary(): Promise<string | null>;
|
|
379
|
+
/**
|
|
380
|
+
* Gets the icon size.
|
|
381
|
+
*
|
|
382
|
+
* @returns Promise resolving to the icon size.
|
|
383
|
+
*
|
|
384
|
+
* @example
|
|
385
|
+
* ```typescript
|
|
386
|
+
* const button = await loader.getHarness(TnIconButtonHarness);
|
|
387
|
+
* const size = await button.getSize();
|
|
388
|
+
* expect(size).toBe('lg');
|
|
389
|
+
* ```
|
|
390
|
+
*/
|
|
391
|
+
getSize(): Promise<string | null>;
|
|
392
|
+
/**
|
|
393
|
+
* Gets the icon color.
|
|
394
|
+
*
|
|
395
|
+
* @returns Promise resolving to the icon color.
|
|
396
|
+
*
|
|
397
|
+
* @example
|
|
398
|
+
* ```typescript
|
|
399
|
+
* const button = await loader.getHarness(TnIconButtonHarness);
|
|
400
|
+
* const color = await button.getColor();
|
|
401
|
+
* expect(color).toBe('primary');
|
|
402
|
+
* ```
|
|
403
|
+
*/
|
|
404
|
+
getColor(): Promise<string | null>;
|
|
405
|
+
/**
|
|
406
|
+
* Checks whether the icon button is disabled.
|
|
407
|
+
*
|
|
408
|
+
* @returns Promise resolving to true if the button is disabled.
|
|
409
|
+
*
|
|
410
|
+
* @example
|
|
411
|
+
* ```typescript
|
|
412
|
+
* const button = await loader.getHarness(
|
|
413
|
+
* TnIconButtonHarness.with({ name: 'delete' })
|
|
414
|
+
* );
|
|
415
|
+
* expect(await button.isDisabled()).toBe(false);
|
|
416
|
+
* ```
|
|
417
|
+
*/
|
|
418
|
+
isDisabled(): Promise<boolean>;
|
|
419
|
+
/**
|
|
420
|
+
* Clicks the icon button.
|
|
421
|
+
*
|
|
422
|
+
* @returns Promise that resolves when the click action is complete.
|
|
423
|
+
*
|
|
424
|
+
* @example
|
|
425
|
+
* ```typescript
|
|
426
|
+
* const button = await loader.getHarness(
|
|
427
|
+
* TnIconButtonHarness.with({ name: 'close' })
|
|
428
|
+
* );
|
|
429
|
+
* await button.click();
|
|
430
|
+
* ```
|
|
431
|
+
*/
|
|
432
|
+
click(): Promise<void>;
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* A set of criteria that can be used to filter a list of `TnIconButtonHarness` instances.
|
|
436
|
+
*/
|
|
437
|
+
interface IconButtonHarnessFilters extends BaseHarnessFilters {
|
|
438
|
+
/** Filters by icon name. */
|
|
439
|
+
name?: string;
|
|
440
|
+
/** Filters by icon library (material, mdi, custom, lucide). */
|
|
441
|
+
library?: string;
|
|
442
|
+
/** Filters by icon size (xs, sm, md, lg, xl). */
|
|
443
|
+
size?: string;
|
|
444
|
+
}
|
|
445
|
+
|
|
298
446
|
declare enum InputType {
|
|
299
447
|
Email = "email",
|
|
300
448
|
Password = "password",
|
|
@@ -769,7 +917,7 @@ declare class TnSelectComponent<T = unknown> implements ControlValueAccessor {
|
|
|
769
917
|
|
|
770
918
|
/**
|
|
771
919
|
* Harness for interacting with tn-icon in tests.
|
|
772
|
-
* Provides filtering by icon name and library for existence checks.
|
|
920
|
+
* Provides filtering by icon name and library for existence checks, as well as click interaction.
|
|
773
921
|
*
|
|
774
922
|
* @example
|
|
775
923
|
* ```typescript
|
|
@@ -790,6 +938,12 @@ declare class TnSelectComponent<T = unknown> implements ControlValueAccessor {
|
|
|
790
938
|
* const hasIcon = await loader.hasHarness(
|
|
791
939
|
* TnIconHarness.with({ name: 'check' })
|
|
792
940
|
* );
|
|
941
|
+
*
|
|
942
|
+
* // Click an icon
|
|
943
|
+
* const closeIcon = await loader.getHarness(
|
|
944
|
+
* TnIconHarness.with({ name: 'close' })
|
|
945
|
+
* );
|
|
946
|
+
* await closeIcon.click();
|
|
793
947
|
* ```
|
|
794
948
|
*/
|
|
795
949
|
declare class TnIconHarness extends ComponentHarness {
|
|
@@ -875,6 +1029,18 @@ declare class TnIconHarness extends ComponentHarness {
|
|
|
875
1029
|
* ```
|
|
876
1030
|
*/
|
|
877
1031
|
getColor(): Promise<string | null>;
|
|
1032
|
+
/**
|
|
1033
|
+
* Clicks the icon.
|
|
1034
|
+
*
|
|
1035
|
+
* @returns Promise that resolves when the click action is complete.
|
|
1036
|
+
*
|
|
1037
|
+
* @example
|
|
1038
|
+
* ```typescript
|
|
1039
|
+
* const icon = await loader.getHarness(TnIconHarness.with({ name: 'close' }));
|
|
1040
|
+
* await icon.click();
|
|
1041
|
+
* ```
|
|
1042
|
+
*/
|
|
1043
|
+
click(): Promise<void>;
|
|
878
1044
|
}
|
|
879
1045
|
/**
|
|
880
1046
|
* A set of criteria that can be used to filter a list of `TnIconHarness` instances.
|
|
@@ -2881,5 +3047,5 @@ declare const TN_THEME_DEFINITIONS: readonly TnThemeDefinition[];
|
|
|
2881
3047
|
*/
|
|
2882
3048
|
declare const THEME_MAP: Map<TnTheme, TnThemeDefinition>;
|
|
2883
3049
|
|
|
2884
|
-
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, 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, 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 };
|
|
2885
|
-
export type { BannerHarnessFilters, ButtonHarnessFilters, CalendarCell, ChipColor, CreateFolderEvent, DateRange, FilePickerCallbacks, FilePickerError, FilePickerMode, FileSystemItem, IconHarnessFilters, IconLibrary, IconLibraryType, IconResult, IconSize, IconSource, IconTestingMockOverrides, KeyCombination, LabelType, LucideIconOptions, MockIconRegistry, MockSpriteLoader, PathSegment, PlatformType, ProgressBarMode, ResolvedIcon, ShortcutHandler, SlideToggleColor, SpinnerMode, SpriteConfig, TabChangeEvent, TnBannerType, TnButtonToggleType, TnCardAction, TnCardControl, TnCardFooterLink, TnCardHeaderStatus, TnConfirmDialogData, TnDialogDefaults, TnDialogOpenTarget, TnFlatTreeNode, TnMenuItem, TnSelectOption, TnSelectOptionGroup, TnSelectionChange, TnTableDataSource, TnThemeDefinition, TooltipPosition, YearCell };
|
|
3050
|
+
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, 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 };
|
|
3051
|
+
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, ShortcutHandler, SlideToggleColor, SpinnerMode, SpriteConfig, TabChangeEvent, TnBannerType, TnButtonToggleType, TnCardAction, TnCardControl, TnCardFooterLink, TnCardHeaderStatus, TnConfirmDialogData, TnDialogDefaults, TnDialogOpenTarget, TnFlatTreeNode, TnMenuItem, TnSelectOption, TnSelectOptionGroup, TnSelectionChange, TnTableDataSource, TnThemeDefinition, TooltipPosition, YearCell };
|